Browse Source

合并代码

master
mengao 7 years ago
parent
commit
03df0ba546
  1. 4
      designer/src/com/fr/design/actions/ButtonGroupAction.java
  2. 6
      designer/src/com/fr/design/actions/cell/CellAttributeTableAction.java
  3. 6
      designer/src/com/fr/design/actions/cell/CellWidgetAttrAction.java
  4. 6
      designer/src/com/fr/design/actions/cell/ConditionAttributesAction.java
  5. 40
      designer/src/com/fr/design/actions/cell/style/AlignmentAction.java
  6. 76
      designer/src/com/fr/design/actions/cell/style/ReportFontBoldAction.java
  7. 9
      designer/src/com/fr/design/actions/cell/style/ReportFontItalicAction.java
  8. 8
      designer/src/com/fr/design/actions/cell/style/ReportFontUnderlineAction.java
  9. 29
      designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java
  10. 31
      designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java
  11. 41
      designer/src/com/fr/design/cell/bar/DynamicScrollButton.java
  12. 1
      designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java
  13. 10
      designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java
  14. 54
      designer/src/com/fr/grid/GridCorner.java
  15. 2
      designer/src/com/fr/poly/PolyBlockProperTable.java
  16. 7
      designer/src/com/fr/quickeditor/CellQuickEditor.java
  17. 27
      designer_base/src/com/fr/design/DesignerEnvManager.java
  18. 4
      designer_base/src/com/fr/design/actions/UpdateAction.java
  19. 2
      designer_base/src/com/fr/design/actions/file/SwitchExistEnv.java
  20. 6
      designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigManager.java
  21. 7
      designer_base/src/com/fr/design/constants/UIConstants.java
  22. 2
      designer_base/src/com/fr/design/data/datapane/TableDataTree.java
  23. 4
      designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java
  24. 3
      designer_base/src/com/fr/design/data/datapane/VerticalChoosePane.java
  25. 127
      designer_base/src/com/fr/design/editor/ValueEditorPaneFactory.java
  26. 2
      designer_base/src/com/fr/design/editor/editor/IntegerEditor.java
  27. 65
      designer_base/src/com/fr/design/editor/editor/SpinnerIntegerEditor.java
  28. 2
      designer_base/src/com/fr/design/file/MutilTempalteTabPane.java
  29. 8
      designer_base/src/com/fr/design/foldablepane/HeaderPane.java
  30. 17
      designer_base/src/com/fr/design/foldablepane/UIExpandablePane.java
  31. 14
      designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java
  32. 8
      designer_base/src/com/fr/design/gui/icontainer/UIResizableContainer.java
  33. 5
      designer_base/src/com/fr/design/gui/itree/filetree/EnvFileTree.java
  34. 14
      designer_base/src/com/fr/design/gui/style/AlignmentPane.java
  35. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_bool.png
  36. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_date.png
  37. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_double.png
  38. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_formula.png
  39. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_int.png
  40. BIN
      designer_base/src/com/fr/design/images/buttonicon/type_string.png
  41. BIN
      designer_base/src/com/fr/design/images/control/bar-light.png
  42. BIN
      designer_base/src/com/fr/design/images/control/dot-line.png
  43. BIN
      designer_base/src/com/fr/design/images/control/dotv.png
  44. BIN
      designer_base/src/com/fr/design/images/control/down_arrow.png
  45. BIN
      designer_base/src/com/fr/design/images/control/east_arrow.png
  46. BIN
      designer_base/src/com/fr/design/images/control/up_arrow.png
  47. BIN
      designer_base/src/com/fr/design/images/control/west_arrow.png
  48. 5
      designer_base/src/com/fr/design/locale/designer.properties
  49. 5
      designer_base/src/com/fr/design/locale/designer_en_US.properties
  50. 5
      designer_base/src/com/fr/design/locale/designer_ja_JP.properties
  51. 5
      designer_base/src/com/fr/design/locale/designer_ko_KR.properties
  52. 5
      designer_base/src/com/fr/design/locale/designer_zh_CN.properties
  53. 5
      designer_base/src/com/fr/design/locale/designer_zh_TW.properties
  54. 22
      designer_base/src/com/fr/design/mainframe/DesignerFrame.java
  55. 11
      designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java
  56. 10
      designer_base/src/com/fr/design/mainframe/JTemplate.java
  57. 14
      designer_base/src/com/fr/design/mainframe/hold/DefaultTitlePlace.java
  58. 6
      designer_base/src/com/fr/design/present/dict/FormulaDictPane.java
  59. 27
      designer_base/src/com/fr/design/utils/gui/GUICoreUtils.java
  60. 15
      designer_base/src/com/fr/env/RemoteEnv.java
  61. 7
      designer_base/src/com/fr/env/SignIn.java
  62. 3
      designer_base/src/com/fr/start/BaseDesigner.java
  63. 10
      designer_chart/src/com/fr/design/chart/ChartTypePane.java
  64. 15
      designer_chart/src/com/fr/plugin/chart/designer/component/VanChartTooltipContentPane.java
  65. 2
      designer_form/src/com/fr/design/mainframe/FormWidgetDetailPane.java
  66. 2
      designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java

4
designer/src/com/fr/design/actions/ButtonGroupAction.java

@ -6,12 +6,12 @@ import com.fr.design.gui.ibutton.UIButtonGroup;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
public abstract class ButtonGroupAction extends ElementCaseAction{ public abstract class ButtonGroupAction extends ElementCaseAction{
protected Icon[] iconArray; protected Icon[][] iconArray;
protected Integer[] valueArray; protected Integer[] valueArray;
private UIButtonGroup<Integer> group; private UIButtonGroup<Integer> group;
protected ButtonGroupAction(ElementCasePane t, Icon[] iconArray, Integer[] valueArray) { protected ButtonGroupAction(ElementCasePane t, Icon[][] iconArray, Integer[] valueArray) {
super(t); super(t);
this.iconArray = iconArray; this.iconArray = iconArray;
this.valueArray = valueArray; this.valueArray = valueArray;

6
designer/src/com/fr/design/actions/cell/CellAttributeTableAction.java

@ -2,6 +2,7 @@ package com.fr.design.actions.cell;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.CellElementPropertyPane; import com.fr.design.mainframe.CellElementPropertyPane;
import com.fr.design.mainframe.EastRegionContainerPane;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@ -20,4 +21,9 @@ public abstract class CellAttributeTableAction extends UpdateAction {
CellElementPropertyPane.getInstance().GoToPane(getID()); CellElementPropertyPane.getInstance().GoToPane(getID());
} }
@Override
public void update() {
super.update();
this.setEnabled(EastRegionContainerPane.getInstance().isCellAttrPaneEnabled());
}
} }

6
designer/src/com/fr/design/actions/cell/CellWidgetAttrAction.java

@ -24,4 +24,10 @@ public class CellWidgetAttrAction extends UpdateAction {
EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_WIDGET_SETTINGS); EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_WIDGET_SETTINGS);
EastRegionContainerPane.getInstance().setWindow2PreferWidth(); EastRegionContainerPane.getInstance().setWindow2PreferWidth();
} }
@Override
public void update() {
super.update();
this.setEnabled(EastRegionContainerPane.getInstance().isWidgetSettingsPaneEnabled());
}
} }

6
designer/src/com/fr/design/actions/cell/ConditionAttributesAction.java

@ -26,4 +26,10 @@ public class ConditionAttributesAction extends UpdateAction {
EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_CONDITION_ATTR); EastRegionContainerPane.getInstance().switchTabTo(EastRegionContainerPane.KEY_CONDITION_ATTR);
EastRegionContainerPane.getInstance().setWindow2PreferWidth(); EastRegionContainerPane.getInstance().setWindow2PreferWidth();
} }
@Override
public void update() {
super.update();
this.setEnabled(EastRegionContainerPane.getInstance().isConditionAttrPaneEnabled());
}
} }

40
designer/src/com/fr/design/actions/cell/style/AlignmentAction.java

@ -21,20 +21,16 @@ import javax.swing.*;
public class AlignmentAction extends ButtonGroupAction implements StyleActionInterface { public class AlignmentAction extends ButtonGroupAction implements StyleActionInterface {
private static final Icon[] normalBlackIcon = new Icon[]{ private static final Icon[][] ICONS = new Icon[][]{
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal.png"), {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal_white.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"), {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal_white.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png")}; {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal_white.png")}};
private static final Icon[] toggleWhiteIcon = new Icon[]{
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal_white.png"),
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal_white.png"),
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal_white.png")};
private static final Integer[] valueArray = new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT}; private static final Integer[] valueArray = new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT};
public AlignmentAction(ElementCasePane t) { public AlignmentAction(ElementCasePane t) {
super(t, normalBlackIcon, valueArray); super(t, ICONS, valueArray);
} }
@ -49,24 +45,14 @@ public class AlignmentAction extends ButtonGroupAction implements StyleActionInt
return style.deriveHorizontalAlignment(getSelectedValue()); return style.deriveHorizontalAlignment(getSelectedValue());
} }
/** /**
* 更新Style * 更新Style
* *
* @param style style * @param style style
*/ */
public void updateStyle(Style style) { public void updateStyle(Style style) {
UIButtonGroup<Integer> buttonGroup = createToolBarComponent(); setSelectedIndex(BaseUtils.getAlignment4Horizontal(style));
int selected = BaseUtils.getAlignment4Horizontal(style); }
for (int i = 0; i < normalBlackIcon.length; i++) {
UIToggleButton button = buttonGroup.getButton(i);
Icon currentIcon = button.getIcon();
Icon newIcon = selected == valueArray[i] ? toggleWhiteIcon[i] : normalBlackIcon[i];
if (newIcon != currentIcon) {
button.setIcon(newIcon);
}
}
setSelectedIndex(selected);
}
/** /**
* executeActionReturnUndoRecordNeeded * executeActionReturnUndoRecordNeeded

76
designer/src/com/fr/design/actions/cell/style/ReportFontBoldAction.java

@ -21,42 +21,36 @@ import javax.swing.*;
public class ReportFontBoldAction extends AbstractStyleAction implements ToggleButtonUpdateAction { public class ReportFontBoldAction extends AbstractStyleAction implements ToggleButtonUpdateAction {
private UIToggleButton button; private UIToggleButton button;
protected Style style; protected Style style;
private final static Icon blackIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/bold.png"); private final static Icon[] ICONS = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/bold.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/bold_white.png")};
private final static Icon whiteIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/bold_white.png");
public ReportFontBoldAction(ElementCasePane t) { public ReportFontBoldAction(ElementCasePane t) {
super(t); super(t);
this.setName(Inter.getLocText("FRFont-bold")); this.setName(Inter.getLocText("FRFont-bold"));
this.setSmallIcon(blackIcon); this.setSmallIcon(ICONS, true);
} }
/** /**
* 根据按钮状态获取格式 * 根据按钮状态获取格式
* *
* @param style * @param style
* @param defStyle * @param defStyle
* @return * @return
*/ */
@Override @Override
public Style executeStyle(Style style, Style defStyle) { public Style executeStyle(Style style, Style defStyle) {
button = createToolBarComponent(); createToolBarComponent().setSelected(!createToolBarComponent().isSelected());
button.setIcon(getToggleButtonIcon(button.isSelected())); if (createToolBarComponent().isSelected()) {
button.setSelected(!button.isSelected()); setSelectedFont(style);
if (button.isSelected()) { createToolBarComponent().setSelected(false);
setSelectedFont(style); } else {
button.setSelected(false); setUnselectedFont(style);
} else { createToolBarComponent().setSelected(true);
setUnselectedFont(style); }
button.setSelected(true);
}
return this.style; return this.style;
} }
protected Icon getToggleButtonIcon(boolean isSelected) {
return isSelected ? blackIcon : whiteIcon;
}
protected void setSelectedFont(Style style) { protected void setSelectedFont(Style style) {
this.style = StyleUtils.boldReportFont(style); this.style = StyleUtils.boldReportFont(style);
@ -66,22 +60,20 @@ public class ReportFontBoldAction extends AbstractStyleAction implements ToggleB
this.style = StyleUtils.unBoldReportFont(style); this.style = StyleUtils.unBoldReportFont(style);
} }
/** /**
* Update Style. * Update Style.
*/ */
@Override @Override
public void updateStyle(Style style) { public void updateStyle(Style style) {
if (style == null) { if (style == null) {
return; return;
} }
FRFont frFont = style.getFRFont(); FRFont frFont = style.getFRFont();
if (frFont == null) { if (frFont == null) {
return; return;
} }
button = createToolBarComponent(); createToolBarComponent().setSelected(isStyle(frFont));
button.setSelected(isStyle(frFont)); }
button.setIcon(getToggleButtonIcon(!button.isSelected()));
}
protected boolean isStyle(FRFont frFont) { protected boolean isStyle(FRFont frFont) {
return frFont.isBold(); return frFont.isBold();
@ -95,7 +87,7 @@ public class ReportFontBoldAction extends AbstractStyleAction implements ToggleB
@Override @Override
public UIToggleButton createToolBarComponent() { public UIToggleButton createToolBarComponent() {
if (button == null) { if (button == null) {
button = GUICoreUtils.createToolBarComponent(this); button = GUICoreUtils.createToolBarComponentWhiteIcon(this);
button.setEventBannded(true); button.setEventBannded(true);
} }
return button; return button;

9
designer/src/com/fr/design/actions/cell/style/ReportFontItalicAction.java

@ -17,14 +17,13 @@ import javax.swing.*;
*/ */
public class ReportFontItalicAction extends ReportFontBoldAction { public class ReportFontItalicAction extends ReportFontBoldAction {
private final static Icon blackIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/italic.png"); private final static Icon[] ICONS = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/italic.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/italic_white.png")};
private final static Icon whiteIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/italic_white.png");
public ReportFontItalicAction(ElementCasePane t) { public ReportFontItalicAction(ElementCasePane t) {
super(t); super(t);
this.setName(Inter.getLocText("FRFont-italic")); this.setName(Inter.getLocText("FRFont-italic"));
this.setSmallIcon(blackIcon); this.setSmallIcon(ICONS, true);
} }
@ -36,10 +35,6 @@ public class ReportFontItalicAction extends ReportFontBoldAction {
this.style = StyleUtils.unItalicReportFont(style); this.style = StyleUtils.unItalicReportFont(style);
} }
protected Icon getToggleButtonIcon(boolean isSelected) {
return isSelected ? blackIcon : whiteIcon;
}
protected boolean isStyle(FRFont frFont) { protected boolean isStyle(FRFont frFont) {
return frFont.isItalic(); return frFont.isItalic();
} }

8
designer/src/com/fr/design/actions/cell/style/ReportFontUnderlineAction.java

@ -18,14 +18,13 @@ import javax.swing.*;
*/ */
public class ReportFontUnderlineAction extends ReportFontBoldAction { public class ReportFontUnderlineAction extends ReportFontBoldAction {
private final static Icon blackIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/underline.png"); private final static Icon[] ICONS = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/underline.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/underline_white.png")};
private final static Icon whiteIcon = BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/underline_white.png");
public ReportFontUnderlineAction(ElementCasePane t) { public ReportFontUnderlineAction(ElementCasePane t) {
super(t); super(t);
this.setName(Inter.getLocText("FRFont-Underline")); this.setName(Inter.getLocText("FRFont-Underline"));
this.setSmallIcon(blackIcon); this.setSmallIcon(ICONS, true);
} }
protected void setSelectedFont (Style style) { protected void setSelectedFont (Style style) {
@ -36,9 +35,6 @@ public class ReportFontUnderlineAction extends ReportFontBoldAction {
this.style = StyleUtils.setReportFontUnderline(style, false); this.style = StyleUtils.setReportFontUnderline(style, false);
} }
protected Icon getToggleButtonIcon(boolean isSelected) {
return isSelected ? blackIcon : whiteIcon;
}
protected boolean isStyle(FRFont frFont) { protected boolean isStyle(FRFont frFont) {
return frFont.getUnderline() != Constants.LINE_NONE; return frFont.getUnderline() != Constants.LINE_NONE;

29
designer/src/com/fr/design/actions/insert/flot/ChartFloatAction.java

@ -4,6 +4,7 @@
package com.fr.design.actions.insert.flot; package com.fr.design.actions.insert.flot;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.DynamicUnitList;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.base.chart.BaseChartCollection; import com.fr.base.chart.BaseChartCollection;
import com.fr.design.actions.ElementCaseAction; import com.fr.design.actions.ElementCaseAction;
@ -16,10 +17,14 @@ import com.fr.design.menu.MenuKeySet;
import com.fr.design.module.DesignModuleFactory; import com.fr.design.module.DesignModuleFactory;
import com.fr.general.FRLogger; import com.fr.general.FRLogger;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.grid.Grid;
import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.FloatSelection;
import com.fr.report.ReportHelper;
import com.fr.report.cell.FloatElement; import com.fr.report.cell.FloatElement;
import com.fr.report.elementcase.TemplateElementCase;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.stable.bridge.StableFactory; import com.fr.stable.bridge.StableFactory;
import com.fr.stable.unit.FU;
import com.fr.stable.unit.OLDPIX; import com.fr.stable.unit.OLDPIX;
import javax.swing.*; import javax.swing.*;
@ -85,11 +90,31 @@ public class ChartFloatAction extends ElementCaseAction {
FloatElement newFloatElement; FloatElement newFloatElement;
try { try {
newFloatElement = new FloatElement(chartDialog.getChartCollection().clone()); newFloatElement = new FloatElement(chartDialog.getChartCollection().clone());
newFloatElement.setLeftDistance(new OLDPIX(20));
newFloatElement.setTopDistance(new OLDPIX(20));
newFloatElement.setWidth(new OLDPIX(BaseChartCollection.CHART_DEFAULT_WIDTH)); newFloatElement.setWidth(new OLDPIX(BaseChartCollection.CHART_DEFAULT_WIDTH));
newFloatElement.setHeight(new OLDPIX(BaseChartCollection.CHART_DEFAULT_HEIGHT)); newFloatElement.setHeight(new OLDPIX(BaseChartCollection.CHART_DEFAULT_HEIGHT));
Grid grid = reportPane.getGrid();
TemplateElementCase report = reportPane.getEditingElementCase();
DynamicUnitList columnWidthList = ReportHelper.getColumnWidthList(report);
DynamicUnitList rowHeightList = ReportHelper.getRowHeightList(report);
int horizentalScrollValue = grid.getHorizontalValue();
int verticalScrollValue = grid.getVerticalValue();
int resolution = grid.getResolution();
int floatWdith = newFloatElement.getWidth().toPixI(resolution);
int floatHeight = newFloatElement.getWidth().toPixI(resolution);
int leftDifference = (grid.getWidth() - floatWdith) > 0 ? (grid.getWidth() - floatWdith) : 0;
int topDifference = (grid.getHeight() - floatHeight) > 0 ? (grid.getHeight() - floatHeight) : 0;
FU evtX_fu = FU.valueOfPix((leftDifference) / 2, resolution);
FU evtY_fu = FU.valueOfPix((topDifference) / 2, resolution);
FU leftDistance = FU.getInstance(evtX_fu.toFU() + columnWidthList.getRangeValue(0, horizentalScrollValue).toFU());
FU topDistance = FU.getInstance(evtY_fu.toFU() + rowHeightList.getRangeValue(0, verticalScrollValue).toFU());
newFloatElement.setLeftDistance(leftDistance);
newFloatElement.setTopDistance(topDistance);
Style style = newFloatElement.getStyle(); Style style = newFloatElement.getStyle();
if (style != null) { if (style != null) {
newFloatElement.setStyle(style.deriveBorder(Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black)); newFloatElement.setStyle(style.deriveBorder(Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black, Constants.LINE_NONE, Color.black));

31
designer/src/com/fr/design/actions/insert/flot/ImageFloatAction.java

@ -4,6 +4,7 @@
package com.fr.design.actions.insert.flot; package com.fr.design.actions.insert.flot;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.DynamicUnitList;
import com.fr.base.ScreenResolution; import com.fr.base.ScreenResolution;
import com.fr.design.actions.ElementCaseAction; import com.fr.design.actions.ElementCaseAction;
import com.fr.design.dialog.BasicDialog; import com.fr.design.dialog.BasicDialog;
@ -14,9 +15,12 @@ import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
import com.fr.design.report.SelectImagePane; import com.fr.design.report.SelectImagePane;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.grid.Grid;
import com.fr.grid.selection.FloatSelection; import com.fr.grid.selection.FloatSelection;
import com.fr.report.ReportHelper;
import com.fr.report.cell.FloatElement; import com.fr.report.cell.FloatElement;
import com.fr.report.cell.cellattr.CellImage; import com.fr.report.cell.cellattr.CellImage;
import com.fr.report.elementcase.TemplateElementCase;
import com.fr.stable.CoreGraphHelper; import com.fr.stable.CoreGraphHelper;
import com.fr.stable.unit.FU; import com.fr.stable.unit.FU;
@ -87,12 +91,33 @@ public class ImageFloatAction extends ElementCaseAction {
CoreGraphHelper.waitForImage(image); CoreGraphHelper.waitForImage(image);
floatElement.setValue(image); floatElement.setValue(image);
Grid grid = reportPane.getGrid();
int resolution = ScreenResolution.getScreenResolution(); int resolution = grid.getResolution();
floatElement.setWidth(FU.valueOfPix(image.getWidth(null), resolution)); floatElement.setWidth(FU.valueOfPix(image.getWidth(null), resolution));
floatElement.setHeight(FU.valueOfPix(image.getHeight(null), resolution)); floatElement.setHeight(FU.valueOfPix(image.getHeight(null), resolution));
TemplateElementCase report = reportPane.getEditingElementCase();
DynamicUnitList columnWidthList = ReportHelper.getColumnWidthList(report);
DynamicUnitList rowHeightList = ReportHelper.getRowHeightList(report);
int horizentalScrollValue = grid.getHorizontalValue();
int verticalScrollValue = grid.getVerticalValue();
int floatWdith = floatElement.getWidth().toPixI(resolution);
int floatHeight = floatElement.getHeight().toPixI(resolution);
int leftDifference = (grid.getWidth() - floatWdith) > 0 ? (grid.getWidth() - floatWdith) : 0;
int topDifference = (grid.getHeight() - floatHeight) > 0 ? (grid.getHeight() - floatHeight) : 0;
FU evtX_fu = FU.valueOfPix((leftDifference) / 2, resolution);
FU evtY_fu = FU.valueOfPix((topDifference) / 2, resolution);
FU leftDistance = FU.getInstance(evtX_fu.toFU() + columnWidthList.getRangeValue(0, horizentalScrollValue).toFU());
FU topDistance = FU.getInstance(evtY_fu.toFU() + rowHeightList.getRangeValue(0, verticalScrollValue).toFU());
floatElement.setLeftDistance(leftDistance);
floatElement.setTopDistance(topDistance);
floatElement.setStyle(cellImage.getStyle()); floatElement.setStyle(cellImage.getStyle());
reportPane.addFloatElementToCenterOfElementPane(floatElement); // reportPane.addFloatElementToCenterOfElementPane(floatElement);
reportPane.getEditingElementCase().addFloatElement(floatElement);
reportPane.setSelection(new FloatSelection(floatElement.getName())); reportPane.setSelection(new FloatSelection(floatElement.getName()));
returnValue = true; returnValue = true;

41
designer/src/com/fr/design/cell/bar/DynamicScrollButton.java

@ -1,5 +1,6 @@
package com.fr.design.cell.bar; package com.fr.design.cell.bar;
import com.fr.design.constants.UIConstants;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import javax.swing.*; import javax.swing.*;
@ -63,48 +64,16 @@ public class DynamicScrollButton extends BasicArrowButton {
private void paintArrow(Graphics g, Dimension size) { private void paintArrow(Graphics g, Dimension size) {
switch (direction) { switch (direction) {
case SwingConstants.NORTH: case SwingConstants.NORTH:
g.drawLine(8, 5, 8, 5); g.drawImage(UIConstants.ARROW_NORTH, 0, 0, this);
g.drawLine(7, 6, 9, 6);
g.drawLine(6, 7, 10, 7);
g.drawLine(5, 8, 7, 8);
g.drawLine(9, 8, 11, 8);
g.drawLine(4, 9, 6, 9);
g.drawLine(10, 9, 12, 9);
g.drawLine(5, 10, 5, 10);
g.drawLine(11, 10, 11, 10);
break; break;
case SwingConstants.SOUTH: case SwingConstants.SOUTH:
g.drawLine(5, 6, 5, 6); g.drawImage(UIConstants.ARROW_SOUTH, 0, 0, this);
g.drawLine(11, 6, 11, 6);
g.drawLine(4, 7, 6, 7);
g.drawLine(10, 7, 12, 7);
g.drawLine(5, 8, 7, 8);
g.drawLine(9, 8, 11, 8);
g.drawLine(6, 9, 10, 9);
g.drawLine(7, 10, 9, 10);
g.drawLine(8, 11, 8, 11);
break; break;
case SwingConstants.EAST: case SwingConstants.EAST:
g.drawLine(6, 5, 6, 5); g.drawImage(UIConstants.ARROW_EAST, 0, 0, this);
g.drawLine(6, 11, 6, 11);
g.drawLine(7, 4, 7, 6);
g.drawLine(7, 10, 7, 12);
g.drawLine(8, 5, 8, 7);
g.drawLine(8, 9, 8, 11);
g.drawLine(9, 6, 9, 10);
g.drawLine(10, 7, 10, 9);
g.drawLine(11, 8, 11, 8);
break; break;
case SwingConstants.WEST: case SwingConstants.WEST:
g.drawLine(4, 8, 4, 8); g.drawImage(UIConstants.ARROW_WEST, 0, 0, this);
g.drawLine(5, 7, 5, 9);
g.drawLine(6, 6, 6, 10);
g.drawLine(7, 5, 7, 7);
g.drawLine(7, 9, 7, 11);
g.drawLine(8, 4, 8, 6);
g.drawLine(8, 10, 8, 12);
g.drawLine(9, 5, 9, 5);
g.drawLine(9, 11, 9, 11);
break; break;
} }
} }

1
designer/src/com/fr/design/mainframe/alphafine/component/AlphaFinePane.java

@ -21,6 +21,7 @@ public class AlphaFinePane extends BasicPane {
private static AlphaFinePane alphaFinePane; private static AlphaFinePane alphaFinePane;
public AlphaFinePane() { public AlphaFinePane() {
setPreferredSize(new Dimension(24,24));
setLayout(new BorderLayout()); setLayout(new BorderLayout());
if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) {
Toolkit.getDefaultToolkit().addAWTEventListener(AlphaFineDialog.listener(), AWTEvent.KEY_EVENT_MASK); Toolkit.getDefaultToolkit().addAWTEventListener(AlphaFineDialog.listener(), AWTEvent.KEY_EVENT_MASK);

10
designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java

@ -1,11 +1,15 @@
package com.fr.design.mainframe.errorinfo; package com.fr.design.mainframe.errorinfo;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.FRCoreContext; import com.fr.general.ComparatorUtils;
import com.fr.general.*; import com.fr.general.FRLogger;
import com.fr.general.GeneralContext;
import com.fr.general.IOUtils;
import com.fr.general.SiteCenter;
import com.fr.general.http.HttpClient; import com.fr.general.http.HttpClient;
import com.fr.json.JSONException; import com.fr.json.JSONException;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.license.function.VT4FR;
import com.fr.stable.CodeUtils; import com.fr.stable.CodeUtils;
import com.fr.stable.EnvChangedListener; import com.fr.stable.EnvChangedListener;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
@ -41,7 +45,7 @@ public class ErrorInfoUploader {
}); });
// 这个控制没啥意义, 主要在于宣传功能. // 这个控制没啥意义, 主要在于宣传功能.
licSupport = VT4FR.isLicAvailable(FRCoreContext.getBytes()) && VT4FR.ALPHA_FINE.support(); licSupport = VT4FR.AlphaFine.support();
} }
private ErrorInfoUploader() { private ErrorInfoUploader() {

54
designer/src/com/fr/grid/GridCorner.java

@ -3,18 +3,15 @@
*/ */
package com.fr.grid; package com.fr.grid;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import javax.swing.event.MouseInputListener;
import com.fr.base.GraphHelper; import com.fr.base.GraphHelper;
import com.fr.base.ScreenResolution; import com.fr.base.ScreenResolution;
import com.fr.design.constants.UIConstants;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import javax.swing.event.MouseInputListener;
import java.awt.*;
import java.awt.geom.Rectangle2D;
/** /**
* GridCorner used to paint and edit grid cornor. * GridCorner used to paint and edit grid cornor.
*/ */
@ -29,16 +26,16 @@ public class GridCorner extends BaseGridComponent {
this.addMouseListener(l); this.addMouseListener(l);
this.addMouseMotionListener(l); this.addMouseMotionListener(l);
} }
/** /**
* Paints component * Paints component
*/ */
@Override @Override
public void paintComponent(Graphics g) { public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g; Graphics2D g2d = (Graphics2D) g;
ElementCasePane reportPane = this.getElementCasePane(); ElementCasePane reportPane = this.getElementCasePane();
float time = (float)reportPane.getResolution()/ ScreenResolution.getScreenResolution(); float time = (float) reportPane.getResolution() / ScreenResolution.getScreenResolution();
//size //size
Dimension size = this.getSize(); Dimension size = this.getSize();
Rectangle2D rect2D = new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight()); Rectangle2D rect2D = new Rectangle2D.Double(0, 0, size.getWidth(), size.getHeight());
@ -50,9 +47,9 @@ public class GridCorner extends BaseGridComponent {
g2d.setPaint(reportPane.getBackground()); g2d.setPaint(reportPane.getBackground());
GraphHelper.fill(g2d, rect2D); GraphHelper.fill(g2d, rect2D);
} }
paintArc(g2d, size, time); paintArc(g2d, size, time);
//画左边的边框线. //画左边的边框线.
g2d.setColor(reportPane.getGridColumn().getSeparatorLineColor()); g2d.setColor(reportPane.getGridColumn().getSeparatorLineColor());
GraphHelper.drawLine(g2d, 0, 0, 0, size.getHeight()); GraphHelper.drawLine(g2d, 0, 0, 0, size.getHeight());
@ -66,7 +63,7 @@ public class GridCorner extends BaseGridComponent {
* Gets the preferred size. * Gets the preferred size.
*/ */
@Override @Override
public Dimension getPreferredSize() { public Dimension getPreferredSize() {
ElementCasePane reportPane = this.getElementCasePane(); ElementCasePane reportPane = this.getElementCasePane();
if (!reportPane.isColumnHeaderVisible() || !reportPane.isRowHeaderVisible()) { if (!reportPane.isColumnHeaderVisible() || !reportPane.isRowHeaderVisible()) {
@ -74,28 +71,31 @@ public class GridCorner extends BaseGridComponent {
} }
return new Dimension(reportPane.getGridRow().getPreferredSize().width, return new Dimension(reportPane.getGridRow().getPreferredSize().width,
reportPane.getGridColumn().getPreferredSize().height); reportPane.getGridColumn().getPreferredSize().height);
} }
/** /**
* Gets corner background. * Gets corner background.
*/ */
@Override @Override
public Color getBackground() { public Color getBackground() {
return super.getBackground(); return super.getBackground();
} }
private void paintArc(Graphics2D g2d, Dimension size, float time) { private void paintArc(Graphics2D g2d, Dimension size, float time) {
g2d.setColor(Color.gray); g2d.setColor(UIConstants.LINE_COLOR);
int width = (int) (size.width - (16 * time)); float height = 2 * time;
int avgWidth = width / 3; float width = 2 * time;
int height = (int) (size.height - (8 * time)); float hgap = 4 * time;
int avgHeight = height / 3; float vgap = 3 * time;
for (int i = 0; i < 3; i ++) {
for (int j = 0; j < 3; j ++) { int x = (int) ((size.width - (hgap * 2 + width * 3)) / 2);
GraphHelper.fillArc(g2d, (8 * time) + (i * avgWidth), (4 * time) + (j * avgHeight), 3, 3, 0, 360); int y = (int) (size.height - (vgap * 2 + height * 3));
} for (int i = 0; i < 3; i++) {
} for (int j = 0; j < 3; j++) {
GraphHelper.fillRect(g2d, x + (i * hgap), y + (j * vgap), width, height);
}
}
} }
} }

2
designer/src/com/fr/poly/PolyBlockProperTable.java

@ -42,6 +42,8 @@ public class PolyBlockProperTable extends JPanel {
height = new UISpinner(0, MAX_SPINNER_VALUE, 1); height = new UISpinner(0, MAX_SPINNER_VALUE, 1);
UIExpandablePane boundsPane = WidgetBoundsPaneFactory.createAbsoluteBoundsPane(x, y, width, height); UIExpandablePane boundsPane = WidgetBoundsPaneFactory.createAbsoluteBoundsPane(x, y, width, height);
this.add(boundsPane, BorderLayout.CENTER); this.add(boundsPane, BorderLayout.CENTER);
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 0, 10));
} }
private void initListener(Container parentComponent) { private void initListener(Container parentComponent) {

7
designer/src/com/fr/quickeditor/CellQuickEditor.java

@ -66,10 +66,10 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
double f = TableLayout.FILL; double f = TableLayout.FILL;
double[] columnSize = {p, f}; double[] columnSize = {p, f};
double[] rowSize = {p, f};
JComponent centerBody = createCenterBody(); JComponent centerBody = createCenterBody();
JPanel topContent = initTopContent(); JPanel topContent = initTopContent();
if (isScrollAll()) { if (isScrollAll()) {
double[] scrollAllRowSize = {p, p};
prepareScrollBar(); prepareScrollBar();
topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 0, this.getBackground())); topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 0, this.getBackground()));
centerBody.setBorder(BorderFactory.createMatteBorder(0, 10, 0, 0, this.getBackground())); centerBody.setBorder(BorderFactory.createMatteBorder(0, 10, 0, 0, this.getBackground()));
@ -77,7 +77,7 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
new Component[]{topContent, null}, new Component[]{topContent, null},
new Component[]{centerBody, null} new Component[]{centerBody, null}
}; };
leftContentPane = TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP); leftContentPane = TableLayoutHelper.createGapTableLayoutPane(components, scrollAllRowSize, columnSize, HGAP, VGAP);
this.setLayout(new CellElementBarLayout(leftContentPane) { this.setLayout(new CellElementBarLayout(leftContentPane) {
@Override @Override
public void layoutContainer(Container parent) { public void layoutContainer(Container parent) {
@ -104,6 +104,7 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
this.add(scrollBar); this.add(scrollBar);
this.add(leftContentPane); this.add(leftContentPane);
} else { } else {
double[] scrollContentRowSize = {p, f};
topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 10, this.getBackground())); topContent.setBorder(BorderFactory.createMatteBorder(10, 10, 0, 10, this.getBackground()));
centerBody.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 0, this.getBackground())); centerBody.setBorder(BorderFactory.createMatteBorder(0, 0, 0, 0, this.getBackground()));
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
@ -111,7 +112,7 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
new Component[]{centerBody, null} new Component[]{centerBody, null}
}; };
this.setLayout(new BorderLayout()); this.setLayout(new BorderLayout());
this.add(TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, HGAP, VGAP), BorderLayout.CENTER); this.add(TableLayoutHelper.createGapTableLayoutPane(components, scrollContentRowSize, columnSize, HGAP, VGAP), BorderLayout.CENTER);
} }
} }

27
designer_base/src/com/fr/design/DesignerEnvManager.java

@ -153,6 +153,10 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
* DesignerEnvManager. * DesignerEnvManager.
*/ */
public static DesignerEnvManager getEnvManager() { public static DesignerEnvManager getEnvManager() {
return getEnvManager(true);
}
public static DesignerEnvManager getEnvManager(boolean needCheckEnv) {
if (designerEnvManager == null) { if (designerEnvManager == null) {
designerEnvManager = new DesignerEnvManager(); designerEnvManager = new DesignerEnvManager();
try { try {
@ -162,14 +166,8 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
} }
// james:如果没有env定义,要设置一个默认的 // james:如果没有env定义,要设置一个默认的
if (designerEnvManager.nameEnvMap.size() <= 0) { if (needCheckEnv) {
String installHome = StableUtils.getInstallHome(); checkNameEnvMap();
if (installHome != null) {
String name = Inter.getLocText("FR-Engine_DEFAULT");
String envPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME});
designerEnvManager.putEnv(name, LocalEnv.createEnv(envPath));
designerEnvManager.setCurEnvName(name);
}
} }
GeneralContext.addEnvChangedListener(new EnvChangedListener() { GeneralContext.addEnvChangedListener(new EnvChangedListener() {
@ -187,6 +185,19 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
return designerEnvManager; return designerEnvManager;
} }
public static void checkNameEnvMap() {
if (designerEnvManager == null || designerEnvManager.nameEnvMap.size() > 0) {
return;
}
String installHome = StableUtils.getInstallHome();
if (installHome != null) {
String name = Inter.getLocText("FR-Engine_DEFAULT");
String envPath = StableUtils.pathJoin(new String[]{installHome, ProjectConstants.WEBAPP_NAME, ProjectConstants.WEBINF_NAME});
designerEnvManager.putEnv(name, LocalEnv.createEnv(envPath));
designerEnvManager.setCurEnvName(name);
}
}
/** /**
* 添加设计器中相关的worker * 添加设计器中相关的worker
* *

4
designer_base/src/com/fr/design/actions/UpdateAction.java

@ -139,6 +139,10 @@ public abstract class UpdateAction extends ShortCut implements Action {
this.putValue(Action.SMALL_ICON, smallIcon); this.putValue(Action.SMALL_ICON, smallIcon);
} }
public void setSmallIcon(Icon[] smallIcon, boolean white) {
this.putValue(Action.SMALL_ICON, smallIcon);
}
/** /**
* Returns the mnemonic property setting. * Returns the mnemonic property setting.
* *

2
designer_base/src/com/fr/design/actions/file/SwitchExistEnv.java

@ -3,7 +3,6 @@ package com.fr.design.actions.file;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.base.Env; import com.fr.base.Env;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.FRCoreContext;
import com.fr.dav.LocalEnv; import com.fr.dav.LocalEnv;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
@ -118,7 +117,6 @@ public class SwitchExistEnv extends MenuDef {
return; return;
} }
SignIn.signIn(selectedEnv); SignIn.signIn(selectedEnv);
FRCoreContext.resetBytes();
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea(); HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea();
fireDSChanged(); fireDSChanged();
} catch (Exception em) { } catch (Exception em) {

6
designer_base/src/com/fr/design/actions/help/alphafine/AlphaFineConfigManager.java

@ -1,8 +1,7 @@
package com.fr.design.actions.help.alphafine; package com.fr.design.actions.help.alphafine;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.FRCoreContext; import com.fr.license.function.VT4FR;
import com.fr.general.VT4FR;
import com.fr.stable.OperatingSystem; import com.fr.stable.OperatingSystem;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLPrintWriter;
@ -75,7 +74,8 @@ public class AlphaFineConfigManager implements XMLable {
} }
public static boolean isALPHALicAvailable() { public static boolean isALPHALicAvailable() {
return FRContext.getCurrentEnv() != null && VT4FR.isLicAvailable(FRCoreContext.getBytes()) && VT4FR.ALPHA_FINE.support();
return FRContext.getCurrentEnv() != null && VT4FR.AlphaFine.support();
} }
@Override @Override

7
designer_base/src/com/fr/design/constants/UIConstants.java

@ -120,6 +120,12 @@ public interface UIConstants {
public static final BufferedImage DRAG_BAR = BaseUtils.readImage("com/fr/design/images/control/bar.png"); public static final BufferedImage DRAG_BAR = BaseUtils.readImage("com/fr/design/images/control/bar.png");
public static final BufferedImage DRAG_BAR_LIGHT = BaseUtils.readImage("com/fr/design/images/control/bar-light.png");
public static final BufferedImage ARROW_NORTH = BaseUtils.readImage("com/fr/design/images/control/up_arrow.png");
public static final BufferedImage ARROW_SOUTH = BaseUtils.readImage("com/fr/design/images/control/down_arrow.png");
public static final BufferedImage ARROW_EAST = BaseUtils.readImage("com/fr/design/images/control/east_arrow.png");
public static final BufferedImage ARROW_WEST = BaseUtils.readImage("com/fr/design/images/control/west_arrow.png");
public static final BufferedImage DRAG_BAR_RIGHT = BaseUtils.readImage("com/fr/design/images/control/barm.png"); public static final BufferedImage DRAG_BAR_RIGHT = BaseUtils.readImage("com/fr/design/images/control/barm.png");
public static final BufferedImage DRAG_BAR_LEFT = BaseUtils.readImage("com/fr/design/images/control/barl.png"); public static final BufferedImage DRAG_BAR_LEFT = BaseUtils.readImage("com/fr/design/images/control/barl.png");
public static final BufferedImage DRAG_UP_NORMAL = BaseUtils.readImage("com/fr/design/images/control/upnor.png"); public static final BufferedImage DRAG_UP_NORMAL = BaseUtils.readImage("com/fr/design/images/control/upnor.png");
@ -131,6 +137,7 @@ public interface UIConstants {
public static final BufferedImage DRAG_LEFT_NORMAL = BaseUtils.readImage("com/fr/design/images/control/leftnor.png"); public static final BufferedImage DRAG_LEFT_NORMAL = BaseUtils.readImage("com/fr/design/images/control/leftnor.png");
public static final BufferedImage DRAG_LEFT_PRESS = BaseUtils.readImage("com/fr/design/images/control/leftpre.png"); public static final BufferedImage DRAG_LEFT_PRESS = BaseUtils.readImage("com/fr/design/images/control/leftpre.png");
public static final BufferedImage DRAG_DOT = BaseUtils.readImage("com/fr/design/images/control/dot.png"); public static final BufferedImage DRAG_DOT = BaseUtils.readImage("com/fr/design/images/control/dot.png");
public static final BufferedImage DRAG_LINE = BaseUtils.readImage("com/fr/design/images/control/dot-line.png");
public static final BufferedImage ACCESSIBLE_EDITOR_DOT = BaseUtils.readImage("com/fr/design/images/control/dot.png"); public static final BufferedImage ACCESSIBLE_EDITOR_DOT = BaseUtils.readImage("com/fr/design/images/control/dot.png");
public static final BufferedImage DRAG_DOT_VERTICAL = BaseUtils.readImage("com/fr/design/images/control/dotv.png"); public static final BufferedImage DRAG_DOT_VERTICAL = BaseUtils.readImage("com/fr/design/images/control/dotv.png");
public static final BufferedImage POP_BUTTON_DOWN = BaseUtils.readImage("com/fr/design/images/buttonicon/popdownarrow.png"); public static final BufferedImage POP_BUTTON_DOWN = BaseUtils.readImage("com/fr/design/images/buttonicon/popdownarrow.png");

2
designer_base/src/com/fr/design/data/datapane/TableDataTree.java

@ -75,7 +75,7 @@ public class TableDataTree extends UserObjectRefreshJTree<TableDataSourceOP> {
this.setSize(dim); this.setSize(dim);
this.setPreferredSize(dim); this.setPreferredSize(dim);
this.setBackgroundNonSelectionColor(UIConstants.TREE_BACKGROUND); this.setBackgroundNonSelectionColor(UIConstants.TREE_BACKGROUND);
this.setForeground(UIConstants.FONT_COLOR); this.setTextSelectionColor(Color.WHITE);
this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE);
return this; return this;
} }

4
designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java

@ -159,10 +159,10 @@ public class TableDataTreePane extends BasicTableDataTreePane {
} }
protected void initbuttonGroup() { protected void initbuttonGroup() {
Icon[] iconArray = {BaseUtils.readIcon("/com/fr/design/images/data/datasource.png"), BaseUtils.readIcon("/com/fr/design/images/data/dock/serverdatabase.png")}; // Icon[] iconArray = {BaseUtils.readIcon("/com/fr/design/images/data/datasource.png"), BaseUtils.readIcon("/com/fr/design/images/data/dock/serverdatabase.png")};
final Integer[] modeArray = {TEMPLATE_TABLE_DATA, SERVER_TABLE_DATA}; final Integer[] modeArray = {TEMPLATE_TABLE_DATA, SERVER_TABLE_DATA};
String[] textArray = {Inter.getLocText(new String[]{"Template", "DS-TableData"}), Inter.getLocText("DS-Server_TableData")}; String[] textArray = {Inter.getLocText(new String[]{"Template", "DS-TableData"}), Inter.getLocText("DS-Server_TableData")};
buttonGroup = new UIHeadGroup(iconArray, textArray) { buttonGroup = new UIHeadGroup(textArray) {
public void tabChanged(int index) { public void tabChanged(int index) {
if (op != null) { if (op != null) {
op.setDataMode(modeArray[buttonGroup.getSelectedIndex()]); op.setDataMode(modeArray[buttonGroup.getSelectedIndex()]);

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

@ -15,6 +15,7 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
public class VerticalChoosePane extends ChoosePane implements DesignerBean { public class VerticalChoosePane extends ChoosePane implements DesignerBean {
private static final int RIGHTBORDER = 5;
public VerticalChoosePane(Previewable previewable) { public VerticalChoosePane(Previewable previewable) {
this(previewable, -1); this(previewable, -1);
@ -36,7 +37,7 @@ public class VerticalChoosePane extends ChoosePane implements DesignerBean {
JPanel rs = new JPanel(new BorderLayout(0, 0)); JPanel rs = new JPanel(new BorderLayout(0, 0));
rs.add(tableNameComboBox, BorderLayout.CENTER); rs.add(tableNameComboBox, BorderLayout.CENTER);
rs.add(GUICoreUtils.createFlowPane(new Component[]{new RefreshLabel(this), previewLabel}, FlowLayout.LEFT, LayoutConstants.HGAP_LARGE), BorderLayout.EAST); rs.add(GUICoreUtils.createFlowPane(new Component[]{new RefreshLabel(this), previewLabel}, FlowLayout.LEFT, LayoutConstants.HGAP_LARGE), BorderLayout.EAST);
rs.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, -RIGHTBORDER));
UILabel l1 = new UILabel(Inter.getLocText("FR-Designer_Database"), UILabel.LEFT); UILabel l1 = new UILabel(Inter.getLocText("FR-Designer_Database"), UILabel.LEFT);
UILabel l2 = new UILabel(Inter.getLocText("FR-Designer_Model"), UILabel.LEFT); UILabel l2 = new UILabel(Inter.getLocText("FR-Designer_Model"), UILabel.LEFT);
UILabel l3 = new UILabel(Inter.getLocText(new String[]{"FR-Designer_Database", "FR-Designer_Table"}), UILabel.LEFT); UILabel l3 = new UILabel(Inter.getLocText(new String[]{"FR-Designer_Database", "FR-Designer_Table"}), UILabel.LEFT);

127
designer_base/src/com/fr/design/editor/ValueEditorPaneFactory.java

@ -83,9 +83,10 @@ public class ValueEditorPaneFactory {
* @return 返回公式编辑器面板 * @return 返回公式编辑器面板
*/ */
public static ValueEditorPane createFormulaValueEditorPane() { public static ValueEditorPane createFormulaValueEditorPane() {
return createValueEditorPane(new Editor[]{new FormulaEditor(Inter.getLocText("Parameter-Formula"))}, return createValueEditorPane(new Editor[]{new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"))},
StringUtils.EMPTY, StringUtils.EMPTY); StringUtils.EMPTY, StringUtils.EMPTY);
} }
/** /**
* 创建基本的值编辑器面板 * 创建基本的值编辑器面板
* *
@ -156,11 +157,13 @@ public class ValueEditorPaneFactory {
/** /**
* 创建不带公式面板的pane * 创建不带公式面板的pane
*
* @return 编辑器面板 * @return 编辑器面板
*/ */
public static ValueEditorPane createBasicEditorWithoutFormulaPane(){ public static ValueEditorPane createBasicEditorWithoutFormulaPane() {
return createValueEditorPane(basicEditorsWithoutFormula(), StringUtils.EMPTY, StringUtils.EMPTY); return createValueEditorPane(basicEditorsWithoutFormula(), StringUtils.EMPTY, StringUtils.EMPTY);
} }
/** /**
* 创建NoCRNoColumn * 创建NoCRNoColumn
* *
@ -172,19 +175,22 @@ public class ValueEditorPaneFactory {
/** /**
* 创建数值编辑器 * 创建数值编辑器
*
* @return 值编辑器 * @return 值编辑器
*/ */
public static ValueEditorPane createNumberValueEditorPane(){ public static ValueEditorPane createNumberValueEditorPane() {
return createValueEditorPane(numberEditors(), StringUtils.EMPTY, StringUtils.EMPTY); return createValueEditorPane(numberEditors(), StringUtils.EMPTY, StringUtils.EMPTY);
} }
/** /**
* 创建日期编辑器 * 创建日期编辑器
*
* @return 值编辑器 * @return 值编辑器
*/ */
public static ValueEditorPane createDateValueEditorPane(){ public static ValueEditorPane createDateValueEditorPane() {
return createValueEditorPane(dateEditors(), StringUtils.EMPTY, StringUtils.EMPTY); return createValueEditorPane(dateEditors(), StringUtils.EMPTY, StringUtils.EMPTY);
} }
/** /**
* 根据参数paraUseType 创建编辑器类型. * 根据参数paraUseType 创建编辑器类型.
* *
@ -221,12 +227,12 @@ public class ValueEditorPaneFactory {
* @return 值编辑器 * @return 值编辑器
*/ */
public static Editor<?>[] basicEditors() { public static Editor<?>[] basicEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new SpinnerIntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor formulaEditor
}; };
@ -238,12 +244,12 @@ public class ValueEditorPaneFactory {
* @return 值编辑器 * @return 值编辑器
*/ */
public static Editor<?>[] formEditors() { public static Editor<?>[] formEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor, formulaEditor,
new WidgetNameEditor(Inter.getLocText("Widget")) new WidgetNameEditor(Inter.getLocText("Widget"))
@ -256,48 +262,50 @@ public class ValueEditorPaneFactory {
* @return 值编辑器 * @return 值编辑器
*/ */
public static Editor<?>[] extendedEditors() { public static Editor<?>[] extendedEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor, formulaEditor,
new ParameterEditor(), new ParameterEditor(),
new ColumnRowEditor(Inter.getLocText("Cell")) new ColumnRowEditor(Inter.getLocText("FR-Designer_Cell"))
}; };
} }
/** /**
* 带单元格组的编辑器 * 带单元格组的编辑器
* @return 值编辑器 *
*/ * @return 值编辑器
public static Editor<?>[] extendedCellGroupEditors() { */
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); public static Editor<?>[] extendedCellGroupEditors() {
return new Editor[]{ FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
new TextEditor(), return new Editor[]{
new IntegerEditor(), new TextEditor(),
new DoubleEditor(), new IntegerEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DoubleEditor(),
new BooleanEditor(), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
formulaEditor, new BooleanEditor(),
new ParameterEditor(), formulaEditor,
new ColumnRowEditor(Inter.getLocText("Cell")), new ParameterEditor(),
new ColumnRowGroupEditor(Inter.getLocText("Cell_Group")) new ColumnRowEditor(Inter.getLocText("FR-Designer_Cell")),
}; new ColumnRowGroupEditor(Inter.getLocText("FR-Designer-Cell_Group"))
} };
}
/**
* 只有单元格和单元格组的编辑器 /**
* @return 编辑器b * 只有单元格和单元格组的编辑器
*/ *
public static Editor<?>[] cellGroupEditor() { * @return 编辑器b
return new Editor[] { */
new ColumnRowEditor(Inter.getLocText("Cell")), public static Editor<?>[] cellGroupEditor() {
new ColumnRowGroupEditor(Inter.getLocText("Cell_Group")) return new Editor[]{
}; new ColumnRowEditor(Inter.getLocText("FR-Designer_Cell")),
} new ColumnRowGroupEditor(Inter.getLocText("FR-Designer-Cell_Group"))
};
}
/** /**
* URL的一些编辑器. * URL的一些编辑器.
@ -323,8 +331,8 @@ public class ValueEditorPaneFactory {
public static Editor<?>[] dateEditors(String popupName, String textEditorValue) { public static Editor<?>[] dateEditors(String popupName, String textEditorValue) {
return new Editor[]{ return new Editor[]{
new NoneEditor(textEditorValue, StringUtils.isEmpty(popupName) ? Inter.getLocText("None") : popupName), new NoneEditor(textEditorValue, StringUtils.isEmpty(popupName) ? Inter.getLocText("None") : popupName),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new FormulaEditor(Inter.getLocText("Parameter-Formula")) new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"))
}; };
} }
@ -334,17 +342,17 @@ public class ValueEditorPaneFactory {
* @return 值编辑器 * @return 值编辑器
*/ */
public static Editor<?>[] allEditors() { public static Editor<?>[] allEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
// formulaEditor.setEnabled(true); // formulaEditor.setEnabled(true);
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor, formulaEditor,
new ParameterEditor(), new ParameterEditor(),
new ColumnRowEditor(Inter.getLocText("Cell")), new ColumnRowEditor(Inter.getLocText("FR-Designer_Cell")),
new ColumnSelectedEditor(), new ColumnSelectedEditor(),
//23328 allEditors中删除控件选项 //23328 allEditors中删除控件选项
// new WidgetNameEditor(Inter.getLocText("Widget")) // new WidgetNameEditor(Inter.getLocText("Widget"))
@ -353,14 +361,15 @@ public class ValueEditorPaneFactory {
/** /**
* 不带公式编辑器 * 不带公式编辑器
*
* @return 编辑器不带公式 * @return 编辑器不带公式
*/ */
public static Editor<?>[] basicEditorsWithoutFormula(){ public static Editor<?>[] basicEditorsWithoutFormula() {
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
}; };
} }
@ -371,12 +380,12 @@ public class ValueEditorPaneFactory {
* @return 编辑器 * @return 编辑器
*/ */
public static Editor<?>[] noCRnoColumnEditors() { public static Editor<?>[] noCRnoColumnEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor, formulaEditor,
new ParameterEditor(), new ParameterEditor(),
@ -385,10 +394,11 @@ public class ValueEditorPaneFactory {
/** /**
* 数值编辑器 * 数值编辑器
* @return 编辑器 *
* @return 编辑器
*/ */
public static Editor<?>[] numberEditors() { public static Editor<?>[] numberEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
@ -399,12 +409,13 @@ public class ValueEditorPaneFactory {
/** /**
* 日期编辑器 * 日期编辑器
*
* @return 编辑器 * @return 编辑器
*/ */
public static Editor<?>[] dateEditors() { public static Editor<?>[] dateEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
return new Editor[]{ return new Editor[]{
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
formulaEditor, formulaEditor,
new ParameterEditor(), new ParameterEditor(),
}; };
@ -416,14 +427,14 @@ public class ValueEditorPaneFactory {
* @return 存储过程的编辑器 * @return 存储过程的编辑器
*/ */
public static Editor<?>[] StoreProcedureEditors() { public static Editor<?>[] StoreProcedureEditors() {
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
formulaEditor.setEnabled(true); formulaEditor.setEnabled(true);
return new Editor[]{ return new Editor[]{
new CursorEditor(), new CursorEditor(),
new TextEditor(), new TextEditor(),
new IntegerEditor(), new IntegerEditor(),
new DoubleEditor(), new DoubleEditor(),
new DateEditor(true, Inter.getLocText("Date")), new DateEditor(true, Inter.getLocText("FR-Designer_Date")),
new BooleanEditor(), new BooleanEditor(),
formulaEditor formulaEditor
}; };
@ -440,10 +451,10 @@ public class ValueEditorPaneFactory {
list.add(new TextEditor()); list.add(new TextEditor());
list.add(new IntegerEditor()); list.add(new IntegerEditor());
list.add(new DoubleEditor()); list.add(new DoubleEditor());
list.add(new DateEditor(true, Inter.getLocText("Date"))); list.add(new DateEditor(true, Inter.getLocText("FR-Designer_Date")));
list.add(new BooleanEditor()); list.add(new BooleanEditor());
FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("Parameter-Formula")); FormulaEditor formulaEditor = new FormulaEditor(Inter.getLocText("FR-Designer_Parameter-Formula"));
formulaEditor.setEnabled(true); formulaEditor.setEnabled(true);
list.add(formulaEditor); list.add(formulaEditor);

2
designer_base/src/com/fr/design/editor/editor/IntegerEditor.java

@ -18,7 +18,7 @@ public class IntegerEditor extends NumberEditor<Integer> {
} }
public IntegerEditor(Integer value) { public IntegerEditor(Integer value) {
super(value, Inter.getLocText("Parameter-Integer")); super(value, Inter.getLocText("FR-Designer_Parameter_Integer"));
} }
@Override @Override

65
designer_base/src/com/fr/design/editor/editor/SpinnerIntegerEditor.java

@ -0,0 +1,65 @@
package com.fr.design.editor.editor;
import com.fr.base.Utils;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.general.Inter;
import com.fr.stable.StringUtils;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class SpinnerIntegerEditor extends Editor<Integer> {
private UISpinner spinner;
private String oldValue = StringUtils.EMPTY;
public SpinnerIntegerEditor(){
this.setLayout(FRGUIPaneFactory.createBorderLayout());
spinner = new UISpinner(-Integer.MAX_VALUE, Integer.MAX_VALUE, 1, 0);
this.add(spinner, BorderLayout.CENTER);
this.spinner.addKeyListener(textKeyListener);
this.setName(Inter.getLocText("FR-Designer_Parameter_Integer"));
}
@Override
public Integer getValue() {
return new Integer((int) this.spinner.getValue());
}
@Override
public void setValue(Integer value) {
if (value == null) {
value = new Integer(0);
}
this.spinner.setValue(value.intValue());
oldValue = Utils.objectToString(value);
}
@Override
public boolean accept(Object object) {
return object != null && object instanceof Integer;
}
public String getIconName() {
return "type_int";
}
KeyListener textKeyListener = new KeyAdapter() {
public void keyReleased(KeyEvent evt) {
int code = evt.getKeyCode();
if (code == KeyEvent.VK_ESCAPE) {
spinner.setValue(Double.parseDouble(oldValue));
}
if (code == KeyEvent.VK_ENTER) {
fireEditingStopped();
} else {
fireStateChanged();
}
}
};
}

2
designer_base/src/com/fr/design/file/MutilTempalteTabPane.java

@ -496,7 +496,7 @@ public class MutilTempalteTabPane extends JComponent implements MouseListener, M
*/ */
private int paintSelectedTab(Graphics2D g2d, Icon sheeticon, double templateStartX, String sheetName, Icon closeIcon) { private int paintSelectedTab(Graphics2D g2d, Icon sheeticon, double templateStartX, String sheetName, Icon closeIcon) {
double[] x = {templateStartX, templateStartX, templateStartX + realWidth, templateStartX + realWidth, templateStartX}; double[] x = {templateStartX, templateStartX, templateStartX + realWidth, templateStartX + realWidth, templateStartX};
double[] y = {-1, getHeight(), getHeight(), -1, -1}; double[] y = {1, getHeight() + 1, getHeight() + 1, 1, 1};
RoundRectangle2D.Double rect1 = new RoundRectangle2D.Double(templateStartX, 1, this.getWidth(), this.getHeight(), 7, 7); RoundRectangle2D.Double rect1 = new RoundRectangle2D.Double(templateStartX, 1, this.getWidth(), this.getHeight(), 7, 7);
g2d.setPaint(new GradientPaint(1, 1, UIConstants.SELECT_TAB, 1, getHeight() - 1, UIConstants.SELECT_TAB)); g2d.setPaint(new GradientPaint(1, 1, UIConstants.SELECT_TAB, 1, getHeight() - 1, UIConstants.SELECT_TAB));
//选了30度和60度的特殊角度的x,y作为经过的两个点的坐标 //选了30度和60度的特殊角度的x,y作为经过的两个点的坐标

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

@ -22,10 +22,15 @@ public class HeaderPane extends JPanel {
private int headHeight; private int headHeight;
private Color bgColor; private Color bgColor;
private boolean isShow; private boolean isShow;
private boolean isPressed = false;
private String title; private String title;
private Image image; private Image image;
private int fontSize; private int fontSize;
public void setPressed(boolean pressed) {
this.isPressed = pressed;
}
public void setShow(boolean isShow) { public void setShow(boolean isShow) {
this.isShow = isShow; this.isShow = isShow;
} }
@ -60,7 +65,8 @@ public class HeaderPane extends JPanel {
private BufferedImage createPanelImage() { private BufferedImage createPanelImage() {
BufferedImage panelImage = new BufferedImage(getWidth(), headHeight, BufferedImage.TYPE_INT_ARGB); BufferedImage panelImage = new BufferedImage(getWidth(), headHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = panelImage.createGraphics(); Graphics2D g2d = panelImage.createGraphics();
g2d.setColor(UIConstants.COMPONENT_BACKGROUND_COLOR);
g2d.setColor(isPressed ? UIConstants.POPUP_TITLE_BACKGROUND : UIConstants.COMPONENT_BACKGROUND_COLOR);
headWidth = this.getWidth(); headWidth = this.getWidth();
g2d.fillRect(0, 0, headWidth, headHeight); g2d.fillRect(0, 0, headWidth, headHeight);
g2d.setFont(new Font("SimSun", 0, fontSize)); g2d.setFont(new Font("SimSun", 0, fontSize));

17
designer_base/src/com/fr/design/foldablepane/UIExpandablePane.java

@ -58,7 +58,8 @@ public class UIExpandablePane extends JPanel {
} }
class PanelAction extends MouseAdapter { class PanelAction extends MouseAdapter {
public void mousePressed(MouseEvent e) { @Override
public void mouseClicked(MouseEvent e) {
HeaderPane hp = (HeaderPane) e.getSource(); HeaderPane hp = (HeaderPane) e.getSource();
if (contentPanel.isShowing()) { if (contentPanel.isShowing()) {
contentPanel.setVisible(false); contentPanel.setVisible(false);
@ -67,9 +68,23 @@ public class UIExpandablePane extends JPanel {
contentPanel.setVisible(true); contentPanel.setVisible(true);
hp.setShow(true); hp.setShow(true);
} }
hp.setPressed(false);
hp.getParent().validate(); hp.getParent().validate();
hp.getParent().repaint(); hp.getParent().repaint();
} }
public void mousePressed(MouseEvent e) {
HeaderPane hp = (HeaderPane) e.getSource();
hp.setPressed(true);
hp.getParent().repaint();
}
@Override
public void mouseExited(MouseEvent e) {
HeaderPane hp = (HeaderPane) e.getSource();
hp.setPressed(false);
hp.getParent().repaint();
}
} }

14
designer_base/src/com/fr/design/gui/ibutton/UIToggleButton.java

@ -48,7 +48,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
} }
/** /**
* 需要反白的按钮接口 * 需要反白的按钮接口(组合按钮情况-UIButtonGroup)
* support icons[normalIcon, selectedIcon] * support icons[normalIcon, selectedIcon]
* @param icons * @param icons
*/ */
@ -67,6 +67,18 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{
addMouseListener(getMouseListener()); addMouseListener(getMouseListener());
} }
/**
* 需要反白的按钮接口(单个按钮情况)-再次点击取消选中状态
* support icons[normalIcon, selectedIcon]
* @param icons
*/
public UIToggleButton(Icon[] icons, boolean needRelease) {
super(icons[0], null, icons[1]);
setSelectedIcon(icons[1]);
setExtraPainted(true);
addMouseListener(getMouseListener());
}
public void setGlobalName(String name){ public void setGlobalName(String name){
toggleButtonName = name ; toggleButtonName = name ;
} }

8
designer_base/src/com/fr/design/gui/icontainer/UIResizableContainer.java

@ -397,8 +397,8 @@ public class UIResizableContainer extends JPanel {
Image upButton = (upModel == UIConstants.MODEL_NORMAL ? UIConstants.DRAG_UP_NORMAL : UIConstants.DRAG_UP_PRESS); Image upButton = (upModel == UIConstants.MODEL_NORMAL ? UIConstants.DRAG_UP_NORMAL : UIConstants.DRAG_UP_PRESS);
Image downButton = (downModel == UIConstants.MODEL_NORMAL ? UIConstants.DRAG_DOWN_NORMAL : UIConstants.DRAG_DOWN_PRESS); Image downButton = (downModel == UIConstants.MODEL_NORMAL ? UIConstants.DRAG_DOWN_NORMAL : UIConstants.DRAG_DOWN_PRESS);
g.drawImage(UIConstants.DRAG_BAR, 0, 0, getWidth(), getHeight(), null); g.drawImage(UIConstants.DRAG_BAR_LIGHT, 0, 0, getWidth(), getHeight(), null);
g.drawImage(UIConstants.DRAG_DOT, (getWidth() - toolPaneHeight) / 2, 3, toolPaneHeight, 5, null); g.drawImage(UIConstants.DRAG_LINE, (getWidth() - toolPaneHeight) / 2, 3, toolPaneHeight, 5, null);
g.drawImage(upButton, ARROW_MARGIN, 3, toolPaneHeight, 5, null); g.drawImage(upButton, ARROW_MARGIN, 3, toolPaneHeight, 5, null);
g.drawImage(downButton, getWidth() - toolPaneHeight - ARROW_MARGIN, 3, toolPaneHeight, 5, null); g.drawImage(downButton, getWidth() - toolPaneHeight - ARROW_MARGIN, 3, toolPaneHeight, 5, null);
} }
@ -488,7 +488,7 @@ public class UIResizableContainer extends JPanel {
public void paint(Graphics g) { public void paint(Graphics g) {
Image button; Image button;
if (direction == Constants.RIGHT) { if (direction == Constants.RIGHT) {
g.drawImage(UIConstants.DRAG_BAR, 0, 0, toolPaneHeight, getHeight(), null); g.drawImage(UIConstants.DRAG_BAR_LIGHT, 0, 0, toolPaneHeight, getHeight(), null);
if (containerWidth == toolPaneHeight) { if (containerWidth == toolPaneHeight) {
if (model == UIConstants.MODEL_NORMAL) { if (model == UIConstants.MODEL_NORMAL) {
button = UIConstants.DRAG_RIGHT_NORMAL; button = UIConstants.DRAG_RIGHT_NORMAL;
@ -504,7 +504,7 @@ public class UIResizableContainer extends JPanel {
} }
g.drawImage(button, 3, ARROW_MARGIN_VERTICAL, 5, toolPaneHeight, null); g.drawImage(button, 3, ARROW_MARGIN_VERTICAL, 5, toolPaneHeight, null);
} else { } else {
g.drawImage(UIConstants.DRAG_BAR, 0, 0, toolPaneHeight, getHeight(), null); g.drawImage(UIConstants.DRAG_BAR_LIGHT, 0, 0, toolPaneHeight, getHeight(), null);
if (containerWidth == toolPaneHeight) { if (containerWidth == toolPaneHeight) {
if (model == UIConstants.MODEL_NORMAL) { if (model == UIConstants.MODEL_NORMAL) {
button = UIConstants.DRAG_LEFT_NORMAL; button = UIConstants.DRAG_LEFT_NORMAL;

5
designer_base/src/com/fr/design/gui/itree/filetree/EnvFileTree.java

@ -1,7 +1,6 @@
package com.fr.design.gui.itree.filetree; package com.fr.design.gui.itree.filetree;
import java.awt.Component; import java.awt.*;
import java.awt.Dimension;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -107,7 +106,7 @@ public class EnvFileTree extends RefreshableJTree {
dim.height += 2; dim.height += 2;
this.setPreferredSize(dim); this.setPreferredSize(dim);
this.setBackgroundNonSelectionColor(UIConstants.TREE_BACKGROUND); this.setBackgroundNonSelectionColor(UIConstants.TREE_BACKGROUND);
this.setForeground(UIConstants.FONT_COLOR); this.setTextSelectionColor(Color.WHITE);
this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE); this.setBackgroundSelectionColor(UIConstants.FLESH_BLUE);
return this; return this;
} }

14
designer_base/src/com/fr/design/gui/style/AlignmentPane.java

@ -80,11 +80,15 @@ public class AlignmentPane extends AbstractBasicStylePane implements GlobalNameO
imageLayoutComboBox = new UIComboBox(LAYOUT); imageLayoutComboBox = new UIComboBox(LAYOUT);
initTextRotationCombox(); initTextRotationCombox();
Icon[] hAlignmentIconArray = {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal.png"), Icon[][] hAlignmentIconArray = {{BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_left_normal_white.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"), {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal_white.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png"), {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal_white.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_s_normal.png"), {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_s_normal.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_s_normal.png")},
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/defaultAlignment.png")}; {BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/defaultAlignment.png"), BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/defaultAlignment.png")}};
// BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_center_normal.png"),
// BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png"),
// BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_s_normal.png"),
// BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/defaultAlignment.png")};
Integer[] hAlignment = new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT, Integer.valueOf(Constants.DISTRIBUTED), Constants.NULL}; Integer[] hAlignment = new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT, Integer.valueOf(Constants.DISTRIBUTED), Constants.NULL};
hAlignmentPane = new UIButtonGroup<Integer>(hAlignmentIconArray, hAlignment); hAlignmentPane = new UIButtonGroup<Integer>(hAlignmentIconArray, hAlignment);
hAlignmentPane.setAllToolTips(new String[]{Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Left"), Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Center"), Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Right"), hAlignmentPane.setAllToolTips(new String[]{Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Left"), Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Center"), Inter.getLocText("FR-Designer-StyleAlignment_Tooltips_Right"),

BIN
designer_base/src/com/fr/design/images/buttonicon/type_bool.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 440 B

BIN
designer_base/src/com/fr/design/images/buttonicon/type_date.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 317 B

BIN
designer_base/src/com/fr/design/images/buttonicon/type_double.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

After

Width:  |  Height:  |  Size: 522 B

BIN
designer_base/src/com/fr/design/images/buttonicon/type_formula.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 299 B

BIN
designer_base/src/com/fr/design/images/buttonicon/type_int.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 B

After

Width:  |  Height:  |  Size: 395 B

BIN
designer_base/src/com/fr/design/images/buttonicon/type_string.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 317 B

BIN
designer_base/src/com/fr/design/images/control/bar-light.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

BIN
designer_base/src/com/fr/design/images/control/dot-line.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 B

BIN
designer_base/src/com/fr/design/images/control/dotv.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 100 B

BIN
designer_base/src/com/fr/design/images/control/down_arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

BIN
designer_base/src/com/fr/design/images/control/east_arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

BIN
designer_base/src/com/fr/design/images/control/up_arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 B

BIN
designer_base/src/com/fr/design/images/control/west_arrow.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

5
designer_base/src/com/fr/design/locale/designer.properties

@ -856,7 +856,7 @@ RP_Authority_Edit=Authority
Warnning=Warning Warnning=Warning
RoleName_Can_Not_Be_Null=RoleName_Can_Not_Be_Null RoleName_Can_Not_Be_Null=RoleName_Can_Not_Be_Null
Application=Applications Application=Applications
Formula_Dictionary_Display_Examples_Html=<html>the real value is \ FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>the real value is \=range(100), the real value($$$)'s display value is \=0 - $$$, <br>the result is 1, 2, ..., 100 and -1, -2, ..., -100.<br></html>
ECP-error_pwd= ECP-error_pwd=
FR-Hyperlink_ChartHyperlink= FR-Hyperlink_ChartHyperlink=
M_Edit-FormatBrush=Format Painter M_Edit-FormatBrush=Format Painter
@ -1240,6 +1240,7 @@ Rose_Red=Rose Red
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=The value of rotation must between -90 and 90 degrees StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=The value of rotation must between -90 and 90 degrees
HF-Move_Left=To the left HF-Move_Left=To the left
Cell_Group=Cell Group Cell_Group=Cell Group
FR-Designer-Cell_Group=Cell Group
Week=Week Week=Week
PageSetup-Orientation=Orientation PageSetup-Orientation=Orientation
M-Open_Recent=Open Recent M-Open_Recent=Open Recent
@ -1425,7 +1426,7 @@ Out_Thick_Border_Line=Out Thick Border Line
FR-App-File_Lookup_range= FR-App-File_Lookup_range=
ReportColumns-Columns_to=Columns to ReportColumns-Columns_to=Columns to
Transparent=Transparent Transparent=Transparent
Parameter-Integer=Integer FR-Designer_Parameter_Integer=Integer
PDF-Print_Setting=PDF Print Setting PDF-Print_Setting=PDF Print Setting
Server-Embedded_Server=Embedded Server Server-Embedded_Server=Embedded Server
M_Server-Server_Config_Manager=Server Configuration Manager M_Server-Server_Config_Manager=Server Configuration Manager

5
designer_base/src/com/fr/design/locale/designer_en_US.properties

@ -859,7 +859,7 @@ RP_Authority_Edit=Permission
Warnning=Warning Warnning=Warning
RoleName_Can_Not_Be_Null=Role name can not be null or duplicate RoleName_Can_Not_Be_Null=Role name can not be null or duplicate
Application=Applications Application=Applications
Formula_Dictionary_Display_Examples_Html=<html>the real value is \=range(100), the real value($$$)'s display value is \=0 - $$$, <br>the result is 1, 2, ..., 100 and -1, -2, ..., -100.<br></html> FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>Tip: the real value is \=range(100), the real value($$$)'s display value is \=0 - $$$, <br>the result is 1, 2, ..., 100 and -1, -2, ..., -100.<br></html>
ECP-error_pwd=Password Error ECP-error_pwd=Password Error
FR-Hyperlink_ChartHyperlink=Chart Hyperlink FR-Hyperlink_ChartHyperlink=Chart Hyperlink
M_Edit-FormatBrush=Format Painter M_Edit-FormatBrush=Format Painter
@ -1242,6 +1242,7 @@ Rose_Red=Rose Red
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=Rotation value must between -90 and 90 degrees StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=Rotation value must between -90 and 90 degrees
HF-Move_Left=Left shift HF-Move_Left=Left shift
Cell_Group=Cell Group Cell_Group=Cell Group
FR-Designer-Cell_Group=Cell Group
Week=Week Week=Week
PageSetup-Orientation=Orientation PageSetup-Orientation=Orientation
M-Open_Recent=Open Recent M-Open_Recent=Open Recent
@ -1427,7 +1428,7 @@ Out_Thick_Border_Line=Thick Border
FR-App-File_Lookup_range=Search range FR-App-File_Lookup_range=Search range
ReportColumns-Columns_to=Split To ReportColumns-Columns_to=Split To
Transparent=Transparent Transparent=Transparent
Parameter-Integer=Integer FR-Designer_Parameter_Integer=Integer
PDF-Print_Setting=PDF Print Setting PDF-Print_Setting=PDF Print Setting
Server-Embedded_Server=Built-in server Server-Embedded_Server=Built-in server
M_Server-Server_Config_Manager=Server Configuration Manager M_Server-Server_Config_Manager=Server Configuration Manager

5
designer_base/src/com/fr/design/locale/designer_ja_JP.properties

@ -857,7 +857,7 @@ RP_Authority_Edit=\u6A29\u9650\u7DE8\u96C6
Warnning=\u30EA\u30DE\u30A4\u30F3\u30C9 Warnning=\u30EA\u30DE\u30A4\u30F3\u30C9
RoleName_Can_Not_Be_Null=\u5F79\u5272\u540D\u306F\u7A7A\u6B04\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u305A\u3001\u91CD\u8907\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u305B\u3093 RoleName_Can_Not_Be_Null=\u5F79\u5272\u540D\u306F\u7A7A\u6B04\u306B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u305A\u3001\u91CD\u8907\u3059\u308B\u3053\u3068\u3082\u3067\u304D\u307E\u305B\u3093
Application=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3 Application=\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3
Formula_Dictionary_Display_Examples_Html=<html>\u5B9F\u969B\u306E\u5024\u304C \=range(100)\u306E\u3068\u304D\u3001\u5B9F\u969B\u306E\u5024($$$)\u306E\u8868\u793A\u3059\u308B\u5024\u306E\u6570\u5F0F\u304C \= 0 - $$$\u306E\u3068\u304D\u3001\n\u6700\u7D42\u7684\u306A\u5B9F\u969B\u306E\u5024\u306F\u30011, 2, ..., 100\u3067\u3042\u308A\u3001\n\u305D\u306E\u8868\u793A\u7D50\u679C\u306F-1, -2, ..., -100\u3068\u306A\u308B\u3002<br></html> FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>\u30D2\u30F3\u30C8: \u5B9F\u969B\u306E\u5024\u304C \=range(100)\u306E\u3068\u304D\u3001\u5B9F\u969B\u306E\u5024($$$)\u306E\u8868\u793A\u3059\u308B\u5024\u306E\u6570\u5F0F\u304C \= 0 - $$$\u306E\u3068\u304D\u3001\n\u6700\u7D42\u7684\u306A\u5B9F\u969B\u306E\u5024\u306F\u30011, 2, ..., 100\u3067\u3042\u308A\u3001\n\u305D\u306E\u8868\u793A\u7D50\u679C\u306F-1, -2, ..., -100\u3068\u306A\u308B\u3002<br></html>
ECP-error_pwd=\u30D1\u30B9\u30EF\u30FC\u30C9\u30A8\u30E9\u30FC ECP-error_pwd=\u30D1\u30B9\u30EF\u30FC\u30C9\u30A8\u30E9\u30FC
FR-Hyperlink_ChartHyperlink=\u30B0\u30E9\u30D5\u30CF\u30A4\u30D1\u30FC\u30EA\u30F3\u30AF FR-Hyperlink_ChartHyperlink=\u30B0\u30E9\u30D5\u30CF\u30A4\u30D1\u30FC\u30EA\u30F3\u30AF
M_Edit-FormatBrush=\u66F8\u5F0F\u30D6\u30E9\u30B7(B) M_Edit-FormatBrush=\u66F8\u5F0F\u30D6\u30E9\u30B7(B)
@ -1240,6 +1240,7 @@ Rose_Red=\u30ED\u30FC\u30BA\u30EC\u30C3\u30C9
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u56DE\u8EE2\u5024\u306F-90\u304B\u308990\u5EA6 StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u56DE\u8EE2\u5024\u306F-90\u304B\u308990\u5EA6
HF-Move_Left=\u5DE6\u3078\u79FB\u52D5\u3059\u308B HF-Move_Left=\u5DE6\u3078\u79FB\u52D5\u3059\u308B
Cell_Group=\u30BB\u30EB\u7D44 Cell_Group=\u30BB\u30EB\u7D44
FR-Designer-Cell_Group=\u30BB\u30EB\u7D44
Week=\u5468 Week=\u5468
PageSetup-Orientation=\u65B9\u5411 PageSetup-Orientation=\u65B9\u5411
M-Open_Recent=\u6700\u8FD1\u958B\u3044\u305F\u3082\u306E M-Open_Recent=\u6700\u8FD1\u958B\u3044\u305F\u3082\u306E
@ -1427,7 +1428,7 @@ Out_Thick_Border_Line=\u30DC\u30C3\u30AF\u30B9\u30D5\u30EC\u30FC\u30E0\u30E9\u30
FR-App-File_Lookup_range=\u691C\u7D22\u7BC4\u56F2 FR-App-File_Lookup_range=\u691C\u7D22\u7BC4\u56F2
ReportColumns-Columns_to=\u306E\u3088\u3046\u306B\u6539\u5217\u3059\u308B ReportColumns-Columns_to=\u306E\u3088\u3046\u306B\u6539\u5217\u3059\u308B
Transparent=\u900F\u660E Transparent=\u900F\u660E
Parameter-Integer=\u6574\u6570\u578B FR-Designer_Parameter_Integer=\u6574\u6570\u578B
PDF-Print_Setting=PDF\u5370\u5237\u8A2D\u5B9A PDF-Print_Setting=PDF\u5370\u5237\u8A2D\u5B9A
Server-Embedded_Server=\u5185\u8535\u30B5\u30FC\u30D0\u30FC Server-Embedded_Server=\u5185\u8535\u30B5\u30FC\u30D0\u30FC
M_Server-Server_Config_Manager=\u30B5\u30FC\u30D0\u30FC\u914D\u7F6E(S) M_Server-Server_Config_Manager=\u30B5\u30FC\u30D0\u30FC\u914D\u7F6E(S)

5
designer_base/src/com/fr/design/locale/designer_ko_KR.properties

@ -857,7 +857,7 @@ RP_Authority_Edit=\uAD8C\uD55C\uD3B8\uC9D1
Warnning=\uC54C\uB9BC Warnning=\uC54C\uB9BC
RoleName_Can_Not_Be_Null=\uC5ED\uD560\uC774\uB984\uC740\uBE44\uC5B4\uC788\uAC70\uB098\uC911\uBCF5\uB418\uC5B4\uC11C\uB294\uC548\uB429\uB2C8\uB2E4. RoleName_Can_Not_Be_Null=\uC5ED\uD560\uC774\uB984\uC740\uBE44\uC5B4\uC788\uAC70\uB098\uC911\uBCF5\uB418\uC5B4\uC11C\uB294\uC548\uB429\uB2C8\uB2E4.
Application=\uC560\uD50C\uB9AC\uCF00\uC774\uC158 Application=\uC560\uD50C\uB9AC\uCF00\uC774\uC158
Formula_Dictionary_Display_Examples_Html=<html>\uC2E4\uC81C\uAC12\uBC94\uC704:\=0 - $$$\uFF0C<br>\uCD5C\uC885\uACB0\uACFC\uC758\uC2E4\uC81C\uAC12: 1, 2, ..., 100,\uD45C\uC2DC\uAC12: -1, -2, ... , -100. <br>&nbsp;</html> FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>\uD301: \uC2E4\uC81C\uAC12\uBC94\uC704:\=0 - $$$\uFF0C<br>\uCD5C\uC885\uACB0\uACFC\uC758\uC2E4\uC81C\uAC12: 1, 2, ..., 100,\uD45C\uC2DC\uAC12: -1, -2, ... , -100. <br>&nbsp;</html>
ECP-error_pwd=\uBE44\uBC00\uBC88\uD638\uC785\uB825\uC624\uB958 ECP-error_pwd=\uBE44\uBC00\uBC88\uD638\uC785\uB825\uC624\uB958
FR-Hyperlink_ChartHyperlink=\uCC28\uD2B8\uD558\uC774\uD37C\uB9C1\uD06C FR-Hyperlink_ChartHyperlink=\uCC28\uD2B8\uD558\uC774\uD37C\uB9C1\uD06C
M_Edit-FormatBrush=\uC11C\uC2DD\uD504\uB9B0\uD2B8(B) M_Edit-FormatBrush=\uC11C\uC2DD\uD504\uB9B0\uD2B8(B)
@ -1241,6 +1241,7 @@ Rose_Red=\uB85C\uC988\uBE68\uAC15
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\uD68C\uC804\uAC12\uC740-90\uB3C4\uC5D0\uC11C 90\uB3C4\uAE4C\uC9C0 StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\uD68C\uC804\uAC12\uC740-90\uB3C4\uC5D0\uC11C 90\uB3C4\uAE4C\uC9C0
HF-Move_Left=\uC67C\uCABD\uC73C\uB85C\uC774\uB3D9 HF-Move_Left=\uC67C\uCABD\uC73C\uB85C\uC774\uB3D9
Cell_Group=\uC140\uADF8\uB8F9 Cell_Group=\uC140\uADF8\uB8F9
FR-Designer-Cell_Group=\uC140\uADF8\uB8F9
Week=\uC8FC Week=\uC8FC
PageSetup-Orientation=\uBC29\uD5A5 PageSetup-Orientation=\uBC29\uD5A5
M-Open_Recent=\uCD5C\uADFC\uC5F4\uC5B4\uBCF8 M-Open_Recent=\uCD5C\uADFC\uC5F4\uC5B4\uBCF8
@ -1426,7 +1427,7 @@ Out_Thick_Border_Line=\uAD75\uC740\uBC14\uAE65\uCABD\uD14C\uB450\uB9AC\uC120
FR-App-File_Lookup_range=\uBC94\uC704\uAC80\uC0C9 FR-App-File_Lookup_range=\uBC94\uC704\uAC80\uC0C9
ReportColumns-Columns_to=\uC140\uB098\uB204\uAE30 ReportColumns-Columns_to=\uC140\uB098\uB204\uAE30
Transparent=\uD22C\uBA85 Transparent=\uD22C\uBA85
Parameter-Integer=\uC804\uCCB4\uD0C0\uC785 FR-Designer_Parameter_Integer=\uC804\uCCB4\uD0C0\uC785
PDF-Print_Setting=PDF\uC778\uC1C4\uC124\uC815 PDF-Print_Setting=PDF\uC778\uC1C4\uC124\uC815
Server-Embedded_Server=\uB0B4\uC7A5\uB41C\uC11C\uBC84 Server-Embedded_Server=\uB0B4\uC7A5\uB41C\uC11C\uBC84
M_Server-Server_Config_Manager=\uC11C\uBC84\uAD6C\uC131 M_Server-Server_Config_Manager=\uC11C\uBC84\uAD6C\uC131

5
designer_base/src/com/fr/design/locale/designer_zh_CN.properties

@ -860,7 +860,7 @@ RP_Authority_Edit=\u6743\u9650\u7F16\u8F91
Warnning=\u63D0\u9192 Warnning=\u63D0\u9192
RoleName_Can_Not_Be_Null=\u89D2\u8272\u540D\u4E0D\u5141\u8BB8\u4E3A\u7A7A\u4E14\u4E0D\u80FD\u91CD\u590D RoleName_Can_Not_Be_Null=\u89D2\u8272\u540D\u4E0D\u5141\u8BB8\u4E3A\u7A7A\u4E14\u4E0D\u80FD\u91CD\u590D
Application=\u5E94\u7528\u7A0B\u5E8F Application=\u5E94\u7528\u7A0B\u5E8F
Formula_Dictionary_Display_Examples_Html=<html>\u5B9E\u9645\u503C\u8303\u56F4\u4E3A \=range(100),\u5BF9\u5B9E\u9645\u503C\u8303\u56F4\u5185\u7684\u6BCF\u4E2A$$$\u7684\u663E\u793A\u516C\u5F0F\u4E3A \=0 - $$$\uFF0C<br>\u5219\u6700\u7EC8\u7684\u7ED3\u679C\u5B9E\u9645\u503C\u4E3A1, 2, ..., 100,\u663E\u793A\u503C\u4E3A-1, -2, ... , -100\u3002<br>&nbsp;</html> FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>\u63D0\u793A\uFF1A\u5B9E\u9645\u503C\u8303\u56F4\u4E3A \=range(100),\u5BF9\u5B9E\u9645\u503C\u8303\u56F4\u5185\u7684\u6BCF\u4E2A$$$\u7684\u663E\u793A\u516C\u5F0F\u4E3A \=0 - $$$\uFF0C\u5219\u6700\u7EC8\u7684\u7ED3\u679C\u5B9E\u9645\u503C\u4E3A1, 2, ..., 100,\u663E\u793A\u503C\u4E3A-1, -2, ... , -100\u3002<br>&nbsp;</html>
ECP-error_pwd=\u5BC6\u7801\u9519\u8BEF ECP-error_pwd=\u5BC6\u7801\u9519\u8BEF
FR-Hyperlink_ChartHyperlink=\u56FE\u8868\u8D85\u94FE FR-Hyperlink_ChartHyperlink=\u56FE\u8868\u8D85\u94FE
M_Edit-FormatBrush=\u683C\u5F0F\u5237(B) M_Edit-FormatBrush=\u683C\u5F0F\u5237(B)
@ -1243,6 +1243,7 @@ Rose_Red=\u73AB\u7470\u7EA2
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u65CB\u8F6C\u503C\u5FC5\u987B\u5728\u8D1F90\u5EA6\u523090\u5EA6 StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u65CB\u8F6C\u503C\u5FC5\u987B\u5728\u8D1F90\u5EA6\u523090\u5EA6
HF-Move_Left=\u5DE6\u79FB HF-Move_Left=\u5DE6\u79FB
Cell_Group=\u5355\u5143\u683C\u7EC4 Cell_Group=\u5355\u5143\u683C\u7EC4
FR-Designer-Cell_Group=\u5355\u5143\u683C\u7EC4
Week=\u5468 Week=\u5468
PageSetup-Orientation=\u65B9\u5411 PageSetup-Orientation=\u65B9\u5411
M-Open_Recent=\u6700\u8FD1\u6253\u5F00\u7684 M-Open_Recent=\u6700\u8FD1\u6253\u5F00\u7684
@ -1428,7 +1429,7 @@ Out_Thick_Border_Line=\u7C97\u5323\u6846\u7EBF
FR-App-File_Lookup_range=\u67E5\u627E\u8303\u56F4 FR-App-File_Lookup_range=\u67E5\u627E\u8303\u56F4
ReportColumns-Columns_to=\u5206\u680F\u6210 ReportColumns-Columns_to=\u5206\u680F\u6210
Transparent=\u900F\u660E Transparent=\u900F\u660E
Parameter-Integer=\u6574\u578B FR-Designer_Parameter_Integer=\u6574\u578B
PDF-Print_Setting=PDF\u6253\u5370\u8BBE\u7F6E PDF-Print_Setting=PDF\u6253\u5370\u8BBE\u7F6E
Server-Embedded_Server=\u5167\u7F6E\u7684\u670D\u52A1\u5668 Server-Embedded_Server=\u5167\u7F6E\u7684\u670D\u52A1\u5668
M_Server-Server_Config_Manager=\u670D\u52A1\u5668\u914D\u7F6E M_Server-Server_Config_Manager=\u670D\u52A1\u5668\u914D\u7F6E

5
designer_base/src/com/fr/design/locale/designer_zh_TW.properties

@ -859,7 +859,7 @@ RP_Authority_Edit=\u6B0A\u9650\u7DE8\u8F2F
Warnning=\u63D0\u9192 Warnning=\u63D0\u9192
RoleName_Can_Not_Be_Null=\u89D2\u8272\u540D\u4E0D\u5141\u8A31\u70BA\u7A7A\u4E14\u4E0D\u80FD\u91CD\u8907 RoleName_Can_Not_Be_Null=\u89D2\u8272\u540D\u4E0D\u5141\u8A31\u70BA\u7A7A\u4E14\u4E0D\u80FD\u91CD\u8907
Application=\u61C9\u7528\u7A0B\u5F0F Application=\u61C9\u7528\u7A0B\u5F0F
Formula_Dictionary_Display_Examples_Html=<html>\u5BE6\u969B\u503C\u7BC4\u570D\u70BA \=range(100),\u5C0D\u5BE6\u969B\u503C\u7BC4\u570D\u5167\u7684\u6BCF\u500B$$$\u7684\u986F\u793A\u516C\u5F0F\u70BA \=0 - $$$\uFF0C<br>\u5247\u6700\u7D42\u7684\u7D50\u679C\u5BE6\u969B\u503C\u70BA1, 2, ..., 100,\u986F\u793A\u503C\u70BA-1, -2, ... , -100\u3002<br>&nbsp;</html> FR-Designer-Formula_Dictionary_Display_Examples_Html=<html>\u63D0\u793A\uFF1A\u5BE6\u969B\u503C\u7BC4\u570D\u70BA \=range(100),\u5C0D\u5BE6\u969B\u503C\u7BC4\u570D\u5167\u7684\u6BCF\u500B$$$\u7684\u986F\u793A\u516C\u5F0F\u70BA \=0 - $$$\uFF0C<br>\u5247\u6700\u7D42\u7684\u7D50\u679C\u5BE6\u969B\u503C\u70BA1, 2, ..., 100,\u986F\u793A\u503C\u70BA-1, -2, ... , -100\u3002<br>&nbsp;</html>
ECP-error_pwd=\u5BC6\u78BC\u932F\u8AA4 ECP-error_pwd=\u5BC6\u78BC\u932F\u8AA4
FR-Hyperlink_ChartHyperlink=\u5716\u8868\u8D85\u93C8 FR-Hyperlink_ChartHyperlink=\u5716\u8868\u8D85\u93C8
M_Edit-FormatBrush=\u8907\u88FD\u683C\u5F0F(B) M_Edit-FormatBrush=\u8907\u88FD\u683C\u5F0F(B)
@ -1242,6 +1242,7 @@ Rose_Red=\u73AB\u7470\u7D05
StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u65CB\u8F49\u503C\u5FC5\u9808\u5728\u8CA090\u5EA6\u523090\u5EA6 StyleAlignment-The_value_of_rotation_must_between_-90_and_90_degrees=\u65CB\u8F49\u503C\u5FC5\u9808\u5728\u8CA090\u5EA6\u523090\u5EA6
HF-Move_Left=\u5DE6\u79FB HF-Move_Left=\u5DE6\u79FB
Cell_Group=\u5132\u5B58\u683C\u7D44 Cell_Group=\u5132\u5B58\u683C\u7D44
FR-Designer-Cell_Group=\u5132\u5B58\u683C\u7D44
Week=\u5468 Week=\u5468
PageSetup-Orientation=\u65B9\u5411 PageSetup-Orientation=\u65B9\u5411
M-Open_Recent=\u958B\u555F\u6700\u8FD1\u4F7F\u7528\u6A94 M-Open_Recent=\u958B\u555F\u6700\u8FD1\u4F7F\u7528\u6A94
@ -1426,7 +1427,7 @@ Out_Thick_Border_Line=\u7C97\u5323\u6846\u7DDA
FR-App-File_Lookup_range=\u67E5\u627E\u7BC4\u570D FR-App-File_Lookup_range=\u67E5\u627E\u7BC4\u570D
ReportColumns-Columns_to=\u5206\u6B04\u6210 ReportColumns-Columns_to=\u5206\u6B04\u6210
Transparent=\u900F\u660E Transparent=\u900F\u660E
Parameter-Integer=\u6574\u578B FR-Designer_Parameter_Integer=\u6574\u578B
PDF-Print_Setting=PDF\u5217\u5370\u8A2D\u5B9A PDF-Print_Setting=PDF\u5217\u5370\u8A2D\u5B9A
Server-Embedded_Server=\u5167\u7F6E\u7684\u4F3A\u670D\u5668 Server-Embedded_Server=\u5167\u7F6E\u7684\u4F3A\u670D\u5668
M_Server-Server_Config_Manager=\u4F3A\u670D\u5668\u914D\u7F6E(S) M_Server-Server_Config_Manager=\u4F3A\u670D\u5668\u914D\u7F6E(S)

22
designer_base/src/com/fr/design/mainframe/DesignerFrame.java

@ -10,7 +10,6 @@ import com.fr.design.DesignModelAdapter;
import com.fr.design.DesignState; import com.fr.design.DesignState;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
import com.fr.design.actions.help.alphafine.AlphaFineConfigManager;
import com.fr.design.constants.UIConstants; import com.fr.design.constants.UIConstants;
import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.DesignTableDataManager;
import com.fr.design.data.datapane.TableDataTreePane; import com.fr.design.data.datapane.TableDataTreePane;
@ -27,7 +26,6 @@ import com.fr.design.gui.imenu.UIMenuHighLight;
import com.fr.design.gui.iscrollbar.UIScrollBar; import com.fr.design.gui.iscrollbar.UIScrollBar;
import com.fr.design.gui.itoolbar.UIToolbar; import com.fr.design.gui.itoolbar.UIToolbar;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.hold.DefaultTitlePlace;
import com.fr.design.mainframe.loghandler.LogMessageBar; import com.fr.design.mainframe.loghandler.LogMessageBar;
import com.fr.design.mainframe.toolbar.ToolBarMenuDock; import com.fr.design.mainframe.toolbar.ToolBarMenuDock;
import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus;
@ -42,6 +40,7 @@ import com.fr.general.ComparatorUtils;
import com.fr.general.FRLogger; import com.fr.general.FRLogger;
import com.fr.general.GeneralContext; import com.fr.general.GeneralContext;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.general.env.EnvContext;
import com.fr.plugin.context.PluginContext; import com.fr.plugin.context.PluginContext;
import com.fr.plugin.injectable.PluginModule; import com.fr.plugin.injectable.PluginModule;
import com.fr.plugin.manage.PluginFilter; import com.fr.plugin.manage.PluginFilter;
@ -233,11 +232,6 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
basePane.add(centerPane, BorderLayout.CENTER); basePane.add(centerPane, BorderLayout.CENTER);
laoyoutWestPane(); laoyoutWestPane();
// JPanel eastRegionPane = new JPanel(new BorderLayout());
// eastRegionPane.add(EastRegionContainerPane.getInstance(), BorderLayout.CENTER);
// eastRegionPane.add(JSliderPane.getInstance(), BorderLayout.SOUTH);
// basePane.add(eastRegionPane, BorderLayout.EAST);
basePane.add(EastRegionContainerPane.getInstance(), BorderLayout.EAST); basePane.add(EastRegionContainerPane.getInstance(), BorderLayout.EAST);
basePane.setBounds(0, 0, contentWidth, contentHeight); basePane.setBounds(0, 0, contentWidth, contentHeight);
@ -332,16 +326,17 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
} }
private void refreshNorthEastPane(JPanel northEastPane, ToolBarMenuDock ad) { private void refreshNorthEastPane(JPanel northEastPane, ToolBarMenuDock ad) {
northEastPane.removeAll(); northEastPane.removeAll();
northEastPane.setLayout(new FlowLayout(FlowLayout.RIGHT, 0, 0));
northEastPane.add(LogMessageBar.getInstance());
TitlePlaceProcessor processor = ExtraDesignClassManager.getInstance().getSingle(TitlePlaceProcessor.MARK_STRING); TitlePlaceProcessor processor = ExtraDesignClassManager.getInstance().getSingle(TitlePlaceProcessor.MARK_STRING);
if (processor == null) { if (processor != null) {
processor = new DefaultTitlePlace(); processor.hold(northEastPane, LogMessageBar.getInstance(), ad.createBBSLoginPane());
} }
processor.hold(northEastPane, LogMessageBar.getInstance(), ad.createBBSLoginPane());
if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) { if (DesignerEnvManager.getEnvManager().getAlphaFineConfigManager().isEnabled()) {
northEastPane.add(ad.createAlphaFinePane(), BorderLayout.CENTER); northEastPane.add(ad.createAlphaFinePane());
} }
northEastPane.add(ad.createBBSLoginPane());
} }
@ -966,8 +961,9 @@ public class DesignerFrame extends JFrame implements JTemplateActionListener, Ta
Env currentEnv = FRContext.getCurrentEnv(); Env currentEnv = FRContext.getCurrentEnv();
try { try {
EnvContext.fireBeforeSignOut();
currentEnv.signOut(); currentEnv.signOut();
GeneralContext.fireEnvSignOutListener(); EnvContext.fireAfterSignOut();
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
} }

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

@ -466,6 +466,17 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
} }
} }
public boolean isConditionAttrPaneEnabled() {
return propertyItemMap.get(KEY_CONDITION_ATTR).isEnabled();
}
public boolean isWidgetSettingsPaneEnabled() {
return propertyItemMap.get(KEY_WIDGET_SETTINGS).isEnabled();
}
public boolean isCellAttrPaneEnabled() {
return propertyItemMap.get(KEY_CELL_ATTR).isEnabled();
}
class PropertyItem { class PropertyItem {

10
designer_base/src/com/fr/design/mainframe/JTemplate.java

@ -2,6 +2,7 @@ package com.fr.design.mainframe;
import com.fr.base.*; import com.fr.base.*;
import com.fr.base.io.IOFile; import com.fr.base.io.IOFile;
import com.fr.base.iofileattr.TemplateIdAttrMark;
import com.fr.design.DesignModelAdapter; import com.fr.design.DesignModelAdapter;
import com.fr.design.DesignState; import com.fr.design.DesignState;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
@ -46,6 +47,7 @@ import com.fr.general.Inter;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
import com.fr.stable.core.UUID;
import com.fr.stable.project.ProjectConstants; import com.fr.stable.project.ProjectConstants;
import javax.swing.*; import javax.swing.*;
@ -1066,12 +1068,12 @@ public abstract class JTemplate<T extends IOFile, U extends BaseUndoState<?>> ex
} }
/** /**
* 由于老版本的模板没有模板ID当勾选使用参数模板时候就加一个模板ID * 由于老版本的模板没有模板ID当勾选使用参数模板时候就加一个模板ID attr
* @param isUseParamTemplate 是否使用参数模板 * @param isUseParamTemplate 是否使用参数模板
*/ */
public void needAddTemplateId(boolean isUseParamTemplate) { public void needAddTemplateIdAttr(boolean isUseParamTemplate) {
if (isUseParamTemplate && StringUtils.isEmpty(template.getTemplateID())) { if (isUseParamTemplate && template.getAttrMark(TemplateIdAttrMark.XML_TAG) == null) {
template.initTemplateID(); template.addAttrMark(new TemplateIdAttrMark(UUID.randomUUID().toString()));
} }
} }
} }

14
designer_base/src/com/fr/design/mainframe/hold/DefaultTitlePlace.java

@ -1,14 +0,0 @@
package com.fr.design.mainframe.hold;
import com.fr.design.fun.impl.AbstractTitleProcessor;
import java.awt.*;
public class DefaultTitlePlace extends AbstractTitleProcessor {
@Override
public void hold(Container container, Component loggerComponent, Component loginComponent) {
container.add(loggerComponent, BorderLayout.WEST);
container.add(loginComponent, BorderLayout.EAST);
}
}

6
designer_base/src/com/fr/design/present/dict/FormulaDictPane.java

@ -5,6 +5,7 @@ import com.fr.base.Formula;
import com.fr.data.impl.FormulaDictionary; import com.fr.data.impl.FormulaDictionary;
import com.fr.design.beans.FurtherBasicBeanPane; import com.fr.design.beans.FurtherBasicBeanPane;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.constants.UIConstants;
import com.fr.design.editor.editor.FormulaEditor; import com.fr.design.editor.editor.FormulaEditor;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -47,13 +48,14 @@ public class FormulaDictPane extends FurtherBasicBeanPane<FormulaDictionary> {
double[] rowSize = {p, p, p}; double[] rowSize = {p, p, p};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}};
UILabel tag = new UILabel(Inter.getLocText("Formula_Dictionary_Display_Examples_Html")); UILabel tag = new UILabel(Inter.getLocText("FR-Designer-Formula_Dictionary_Display_Examples_Html"));
tag.setForeground(new Color(51, 51, 52));
tag.setPreferredSize(new Dimension(225, 80)); tag.setPreferredSize(new Dimension(225, 80));
JPanel t = new JPanel(new BorderLayout()); JPanel t = new JPanel(new BorderLayout());
t.add(tag, BorderLayout.CENTER); t.add(tag, BorderLayout.CENTER);
Formula vf = new Formula("$$$"); Formula vf = new Formula("$$$");
valueFormulaEditor = new FormulaEditor("", vf); valueFormulaEditor = new FormulaEditor(StringUtils.EMPTY, vf);
JPanel valueFormulaContainer = new JPanel(new FlowLayout(FlowLayout.RIGHT, LEFT_BORDER, 0)); JPanel valueFormulaContainer = new JPanel(new FlowLayout(FlowLayout.RIGHT, LEFT_BORDER, 0));
valueFormulaContainer.setBorder(BorderFactory.createEmptyBorder(0, -LEFT_BORDER, 0, -LEFT_BORDER)); valueFormulaContainer.setBorder(BorderFactory.createEmptyBorder(0, -LEFT_BORDER, 0, -LEFT_BORDER));

27
designer_base/src/com/fr/design/utils/gui/GUICoreUtils.java

@ -221,6 +221,33 @@ public abstract class GUICoreUtils{
return (UIToggleButton) object; return (UIToggleButton) object;
} }
/**
* 创建工具栏组件-反白icon
* @param updateAction 更新动作
* @return UIToggleButton 按钮
*
*/
public static UIToggleButton createToolBarComponentWhiteIcon(UpdateAction updateAction) {
UIToggleButton button = new UIToggleButton((Icon[]) updateAction.getValue(Action.SMALL_ICON), true);
button.set4ToolbarButton();
Integer mnemonicInteger = (Integer) updateAction.getValue(Action.MNEMONIC_KEY);
if (mnemonicInteger != null) {
button.setMnemonic((char) mnemonicInteger.intValue());
}
button.addActionListener(updateAction);
button.registerKeyboardAction(updateAction, updateAction.getAccelerator(), JComponent.WHEN_IN_FOCUSED_WINDOW);
updateAction.putValue(UIToggleButton.class.getName(), button);
button.setText(StringUtils.EMPTY);
button.setEnabled(updateAction.isEnabled());
button.setToolTipText(ActionFactory.createButtonToolTipText(updateAction));
return button;
}
/** /**
* 设置一个窗口 * 设置一个窗口
* *

15
designer_base/src/com/fr/env/RemoteEnv.java vendored

@ -3,7 +3,6 @@ package com.fr.env;
import com.fr.base.AbstractEnv; import com.fr.base.AbstractEnv;
import com.fr.base.EnvException; import com.fr.base.EnvException;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.FRCoreContext;
import com.fr.base.ModifiedTable; import com.fr.base.ModifiedTable;
import com.fr.base.Parameter; import com.fr.base.Parameter;
import com.fr.base.StoreProcedureParameter; import com.fr.base.StoreProcedureParameter;
@ -35,16 +34,16 @@ import com.fr.general.FRLogger;
import com.fr.general.IOUtils; import com.fr.general.IOUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.general.LogRecordTime; import com.fr.general.LogRecordTime;
import com.fr.general.VT4FR;
import com.fr.general.http.HttpClient; import com.fr.general.http.HttpClient;
import com.fr.json.JSONArray; import com.fr.json.JSONArray;
import com.fr.json.JSONException; import com.fr.json.JSONException;
import com.fr.json.JSONObject; import com.fr.json.JSONObject;
import com.fr.license.function.VT4FR;
import com.fr.regist.License;
import com.fr.share.ShareConstants; import com.fr.share.ShareConstants;
import com.fr.stable.ArrayUtils; import com.fr.stable.ArrayUtils;
import com.fr.stable.EncodeConstants; import com.fr.stable.EncodeConstants;
import com.fr.stable.JavaCompileInfo; import com.fr.stable.JavaCompileInfo;
import com.fr.stable.LicUtils;
import com.fr.stable.ProductConstants; import com.fr.stable.ProductConstants;
import com.fr.stable.StableUtils; import com.fr.stable.StableUtils;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -56,8 +55,7 @@ import com.fr.stable.xml.XMLTools;
import com.fr.stable.xml.XMLableReader; import com.fr.stable.xml.XMLableReader;
import com.fr.web.ResourceConstants; import com.fr.web.ResourceConstants;
import javax.swing.JOptionPane; import javax.swing.*;
import javax.swing.UIManager;
import javax.xml.transform.Source; import javax.xml.transform.Source;
import javax.xml.transform.Transformer; import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerConfigurationException;
@ -65,7 +63,7 @@ import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory; import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource; import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamResult;
import java.awt.Component; import java.awt.*;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@ -198,7 +196,7 @@ public class RemoteEnv extends AbstractEnv {
private String createUserID() throws EnvException { private String createUserID() throws EnvException {
// 如果登录之后userID还是null // 如果登录之后userID还是null
if (this.userID == null) { if (this.userID == null) {
if (!VT4FR.REMOTE_DESIGN.support() && licNotSupport <= 0) { if (!VT4FR.RemoteDesign.support() && licNotSupport <= 0) {
licNotSupport++; licNotSupport++;
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Lic_does_not_Support_Remote")); JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Lic_does_not_Support_Remote"));
} }
@ -1438,7 +1436,6 @@ public class RemoteEnv extends AbstractEnv {
return; return;
} }
SignIn.signIn(remoteEnv); SignIn.signIn(remoteEnv);
FRCoreContext.resetBytes();
HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea(); HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().refreshToolArea();
} catch (Exception em) { } catch (Exception em) {
FRContext.getLogger().error(em.getMessage(), em); FRContext.getLogger().error(em.getMessage(), em);
@ -2036,7 +2033,7 @@ public class RemoteEnv extends AbstractEnv {
@Override @Override
public String getLicName() { public String getLicName() {
return LicUtils.FILE_NAME; return License.FILE_NAME;
} }
@Override @Override

7
designer_base/src/com/fr/env/SignIn.java vendored

@ -3,9 +3,9 @@ package com.fr.env;
import com.fr.base.Env; import com.fr.base.Env;
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.general.ComparatorUtils;
import com.fr.design.utils.DesignUtils; import com.fr.design.utils.DesignUtils;
import com.fr.general.GeneralContext; import com.fr.general.ComparatorUtils;
import com.fr.general.env.EnvContext;
public class SignIn { public class SignIn {
@ -33,8 +33,9 @@ public class SignIn {
return; return;
} }
try { try {
GeneralContext.fireEnvSignOutListener(); EnvContext.fireBeforeSignOut();
lastSelectedEnv.signOut(); lastSelectedEnv.signOut();
EnvContext.fireAfterSignOut();
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
} }

3
designer_base/src/com/fr/start/BaseDesigner.java

@ -171,7 +171,8 @@ public abstract class BaseDesigner extends ToolBarMenuDock {
protected void initLanguage() { protected void initLanguage() {
//这两句的位置不能随便调换,因为会影响语言切换的问题 //这两句的位置不能随便调换,因为会影响语言切换的问题
FRContext.setLanguage(DesignerEnvManager.getEnvManager().getLanguage()); FRContext.setLanguage(DesignerEnvManager.getEnvManager(false).getLanguage());
DesignerEnvManager.checkNameEnvMap();
} }
protected void initDefaultFont() { protected void initDefaultFont() {

10
designer_chart/src/com/fr/design/chart/ChartTypePane.java

@ -5,7 +5,6 @@ package com.fr.design.chart;
*/ */
import com.fr.base.FRContext; import com.fr.base.FRContext;
import com.fr.base.FRCoreContext;
import com.fr.chart.base.ChartInternationalNameContentBean; import com.fr.chart.base.ChartInternationalNameContentBean;
import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Chart;
import com.fr.chart.chartattr.ChartCollection; import com.fr.chart.chartattr.ChartCollection;
@ -17,8 +16,8 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.general.RegistEditionException; import com.fr.license.exception.RegistEditionException;
import com.fr.general.VT4FR; import com.fr.license.function.VT4FR;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionEvent;
@ -159,7 +158,7 @@ public class ChartTypePane extends ChartCommonWizardPane {
if(chart.getPlot() != null){ if(chart.getPlot() != null){
if(chart.getPlot() instanceof MapPlot && !supportMap()){ if(chart.getPlot() instanceof MapPlot && !supportMap()){
JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Chart-Map_Not_Supported")); JOptionPane.showMessageDialog(null, Inter.getLocText("FR-Chart-Map_Not_Supported"));
throw new RegistEditionException(VT4FR.CHART_MAP); throw new RegistEditionException(VT4FR.ChartMap);
} }
if (chart.getPlot() != null) { if (chart.getPlot() != null) {
@ -173,8 +172,7 @@ public class ChartTypePane extends ChartCommonWizardPane {
} }
private boolean supportMap() { private boolean supportMap() {
byte[] bytes = FRCoreContext.getBytes(); return VT4FR.ChartMap.support();
return VT4FR.isLicAvailable(bytes) && VT4FR.CHART_MAP.support();
} }
public void update(ChartCollection cc) { public void update(ChartCollection cc) {

15
designer_chart/src/com/fr/plugin/chart/designer/component/VanChartTooltipContentPane.java

@ -219,6 +219,8 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
updateFormatPane(attrTooltipContent); updateFormatPane(attrTooltipContent);
updateFormatsWithPaneWidth(attrTooltipContent);
htmlLabelPane.update(attrTooltipContent.getHtmlLabel()); htmlLabelPane.update(attrTooltipContent.getHtmlLabel());
return attrTooltipContent; return attrTooltipContent;
@ -241,4 +243,17 @@ public class VanChartTooltipContentPane extends BasicBeanPane<AttrTooltipContent
changedPercentFormatPane.update(attrTooltipContent.getChangedPercentFormat()); changedPercentFormatPane.update(attrTooltipContent.getChangedPercentFormat());
} }
} }
/**
* CHART-1295
* 通过格式的面板宽度来判断在自定义js代码中是否显示this.seriesName字符串
* 图表对于其他的格式有要求也可以在这里继续添加
* @param attrTooltipContent
*/
private void updateFormatsWithPaneWidth (AttrTooltipContent attrTooltipContent) {
int paneWidth = seriesNameFormatPane.getWidth();
if (paneWidth == 0) {
attrTooltipContent.getSeriesFormat().setEnable(false);
}
}
} }

2
designer_form/src/com/fr/design/mainframe/FormWidgetDetailPane.java

@ -147,6 +147,7 @@ public class FormWidgetDetailPane extends FormDockView{
private void initReuWidgetPanel() { private void initReuWidgetPanel() {
elCaseBindInfoList = ShareLoader.getLoader().getAllBindInfoList(); elCaseBindInfoList = ShareLoader.getLoader().getAllBindInfoList();
downPane = new UIScrollPane(new ShareWidgetPane(elCaseBindInfoList, false)); downPane = new UIScrollPane(new ShareWidgetPane(elCaseBindInfoList, false));
downPane.setBorder(null);
reuWidgetPanel.add(downPane); reuWidgetPanel.add(downPane);
} }
@ -429,6 +430,7 @@ public class FormWidgetDetailPane extends FormDockView{
public void refreshDownPanel(boolean isEdit) { public void refreshDownPanel(boolean isEdit) {
reuWidgetPanel.remove(downPane); reuWidgetPanel.remove(downPane);
downPane = new UIScrollPane(new ShareWidgetPane(elCaseBindInfoList, isEdit)); downPane = new UIScrollPane(new ShareWidgetPane(elCaseBindInfoList, isEdit));
downPane.setBorder(null);
reuWidgetPanel.add(downPane); reuWidgetPanel.add(downPane);
repaintContainer(); repaintContainer();

2
designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java

@ -128,7 +128,7 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
wParameterLayout.setDelayDisplayContent(displayReport.isSelected()); wParameterLayout.setDelayDisplayContent(displayReport.isSelected());
wParameterLayout.setUseParamsTemplate(useParamsTemplate.isSelected()); wParameterLayout.setUseParamsTemplate(useParamsTemplate.isSelected());
JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate(); JTemplate jTemplate = HistoryTemplateListPane.getInstance().getCurrentEditingTemplate();
jTemplate.needAddTemplateId(useParamsTemplate.isSelected()); jTemplate.needAddTemplateIdAttr(useParamsTemplate.isSelected());
wParameterLayout.setBackground((Background) background.getValue()); wParameterLayout.setBackground((Background) background.getValue());
wParameterLayout.setPosition((int)hAlignmentPane.getSelectedItem()); wParameterLayout.setPosition((int)hAlignmentPane.getSelectedItem());
return wParameterLayout; return wParameterLayout;

Loading…
Cancel
Save