Browse Source

Merge branch 'release/9.0'

paul 8 years ago
parent
commit
b8af1ac48d
  1. 3
      designer/src/com/fr/design/mainframe/InformationCollector.java
  2. 9
      designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java
  3. 56
      designer/src/com/fr/design/present/BarCodePane.java
  4. 8
      designer/src/com/fr/design/write/submit/SubmitVisitorListPane.java
  5. 3
      designer_base/src/com/fr/design/condition/ConditionAttributesPane.java
  6. 22
      designer_base/src/com/fr/design/foldablepane/HeaderPane.java
  7. 26
      designer_base/src/com/fr/design/locale/designer.properties
  8. 36
      designer_base/src/com/fr/design/locale/designer_en_US.properties
  9. 38
      designer_base/src/com/fr/design/locale/designer_zh_CN.properties
  10. 34
      designer_base/src/com/fr/design/locale/designer_zh_TW.properties
  11. 14
      designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionManager.java
  12. 20
      designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java
  13. 14
      designer_chart/src/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java
  14. BIN
      designer_chart/src/com/fr/plugin/chart/map/images/marker-icon.png
  15. BIN
      designer_chart/src/com/fr/plugin/chart/map/images/marker-iconx2.png
  16. BIN
      designer_chart/src/com/fr/plugin/chart/map/images/point-map.png
  17. BIN
      designer_chart/src/com/fr/plugin/chart/map/images/point.png
  18. 5
      designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java
  19. 1
      designer_form/src/com/fr/design/designer/properties/FRFitLayoutPropertiesGroupModel.java
  20. 8
      designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java
  21. 27
      designer_form/src/com/fr/design/mainframe/FormSelectionUtils.java
  22. 3
      designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java
  23. 1
      designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java
  24. 1
      designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java

3
designer/src/com/fr/design/mainframe/InformationCollector.java

@ -344,7 +344,8 @@ public class InformationCollector implements XMLReadable, XMLWriter {
}
private void sendUserInfoInOtherThread(){
if (!DesignerEnvManager.getEnvManager().isJoinProductImprove() || !FRContext.isChineseEnv()) {
if (!DesignerEnvManager.getEnvManager().isJoinProductImprove() || !FRContext.isChineseEnv() || !FRContext.getCurrentEnv().isLocalEnv()) {
return;
}

9
designer/src/com/fr/design/mainframe/alphafine/search/manager/RecentSearchManager.java

@ -2,6 +2,7 @@ package com.fr.design.mainframe.alphafine.search.manager;
import com.fr.base.FRContext;
import com.fr.base.Utils;
import com.fr.design.actions.UpdateAction;
import com.fr.design.mainframe.alphafine.AlphaFineConstants;
import com.fr.design.mainframe.alphafine.AlphaFineHelper;
import com.fr.design.mainframe.alphafine.CellType;
@ -233,8 +234,12 @@ public class RecentSearchManager extends XMLFileManager implements AlphaFineSear
SearchResult searchResult = new SearchResult();
while (modelIterator.hasNext()) {
AlphaCellModel model = modelIterator.next();
if (model.getType() == CellType.ACTION && !UpdateActionManager.getUpdateActionManager().isEnable(((ActionModel) model).getAction())) {
continue;
if (model.getType() == CellType.ACTION) {
UpdateAction action = UpdateActionManager.getUpdateActionManager().getActionByName(model.getName());
if (action != null) {
((ActionModel) model).setAction(action);
searchResult.add(model);
}
} else {
searchResult.add(model);
}

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

@ -8,7 +8,6 @@ import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.icombobox.UIComboBoxRenderer;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.ispinner.UIBasicSpinner;
import com.fr.design.gui.ispinner.UISpinner;
import com.fr.design.gui.itextfield.UINumberField;
import com.fr.design.layout.FRGUIPaneFactory;
@ -22,11 +21,18 @@ import com.fr.report.cell.painter.barcode.BarcodeImpl;
import com.fr.report.cell.painter.barcode.core.BarCodeUtils;
import com.fr.stable.pinyin.ChineseHelper;
import javax.swing.*;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.font.FontRenderContext;
@ -49,10 +55,10 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
private UIComboBox typeComboBox;
private UISpinner barWidthSpinner;
private UISpinner barHeightSpinner;
private UISpinner RCodesizespinner;
private UISpinner sizeSpinner;
private UICheckBox drawingTextCheckBox;
private UIComboBox RCodeVersionComboBox;
private UIComboBox RCodeErrorCorrectComboBox;
private UIComboBox versionComboBox;
private UIComboBox errorCorrectComboBox;
private UILabel typeSetLabel;
private String testText = "12345";
@ -74,9 +80,9 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
borderPane.add(barCodePreviewPane, BorderLayout.CENTER);
setTypeComboBox();
setSome();
RCodesizespinner = new UISpinner(1,6,1,2);
RCodeVersionComboBox = new UIComboBox();
RCodeErrorCorrectComboBox = new UIComboBox();
sizeSpinner = new UISpinner(1,6,1,2);
versionComboBox = new UIComboBox();
errorCorrectComboBox = new UIComboBox();
typeSetLabel = new UILabel(Inter.getLocText("FR-Designer_Type_Set"), UILabel.LEFT);
initVersionComboBox();
initErrorCorrectComboBox();
@ -170,13 +176,13 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}};
UILabel uiLabel = new UILabel(Inter.getLocText("RCodeVersion"), UILabel.LEFT);
uiLabel.setPreferredSize(typeSetLabel.getPreferredSize());
RCodeVersionComboBox.setPreferredSize(new Dimension(155,20));
RCodeErrorCorrectComboBox.setPreferredSize(new Dimension(155,20));
RCodesizespinner.setPreferredSize(new Dimension(155,20));
versionComboBox.setPreferredSize(new Dimension(155,20));
errorCorrectComboBox.setPreferredSize(new Dimension(155,20));
sizeSpinner.setPreferredSize(new Dimension(155,20));
Component[][] components_special = new Component[][]{
new Component[]{uiLabel, RCodeVersionComboBox},
new Component[]{new UILabel(Inter.getLocText("RCodeErrorCorrect"), UILabel.LEFT), RCodeErrorCorrectComboBox},
new Component[]{new UILabel(Inter.getLocText("RCodeDrawPix"), UILabel.LEFT), RCodesizespinner}
new Component[]{uiLabel, versionComboBox},
new Component[]{new UILabel(Inter.getLocText("RCodeErrorCorrect"), UILabel.LEFT), errorCorrectComboBox},
new Component[]{new UILabel(Inter.getLocText("RCodeDrawPix"), UILabel.LEFT), sizeSpinner}
};
JPanel specialPane = TableLayoutHelper.createGapTableLayoutPane(components_special, rowSize, columnSize, rowCount, LayoutConstants.VGAP_HUGER, LayoutConstants.VGAP_LARGE);
@ -184,17 +190,17 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
}
private void addlistener() {
RCodesizespinner.addChangeListener(new ChangeListener() {
sizeSpinner.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
repaintPreviewBarCode();
}
});
RCodeVersionComboBox.addItemListener(new ItemListener() {
versionComboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
repaintPreviewBarCode();
}
});
RCodeErrorCorrectComboBox.addItemListener(new ItemListener() {
errorCorrectComboBox.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
repaintPreviewBarCode();
}
@ -227,12 +233,12 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
private void initVersionComboBox() {
String[] array = {Inter.getLocText(new String[]{"Auto", "Choose"}), "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16"};
initcombobox(this.RCodeVersionComboBox, array, 0);
initcombobox(this.versionComboBox, array, 0);
}
private void initErrorCorrectComboBox() {
String[] array = {"L" + Inter.getLocText("Level") + "7%", "M" + Inter.getLocText("Level") + "15%", "Q" + Inter.getLocText("Level") + "25%", "H" + Inter.getLocText("Level") + "30%"};
initcombobox(this.RCodeErrorCorrectComboBox, array, 1);
initcombobox(this.errorCorrectComboBox, array, 1);
}
private void initcombobox(UIComboBox combobox, String[] array, int index) {
@ -270,10 +276,12 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
}
this.setTestText(BarCodeUtils.getTestTextByBarCode(barcodeAttr.getType()));
this.typeComboBox.setSelectedIndex(barcodeAttr.getType());
this.versionComboBox.setSelectedIndex(barcodeAttr.getRCodeVersion());
this.errorCorrectComboBox.setSelectedIndex(barcodeAttr.getRCodeErrorCorrect());
this.barWidthSpinner.setValue(new Double(barcodeAttr.getBarWidth()) * 10);
this.barHeightSpinner.setValue(new Integer(barcodeAttr.getBarHeight()));
this.drawingTextCheckBox.setSelected(barcodeAttr.isDrawingText());
this.RCodesizespinner.setValue(new Integer(barcodeAttr.getRcodeDrawPix()));
this.sizeSpinner.setValue(new Integer(barcodeAttr.getRcodeDrawPix()));
this.repaintPreviewBarCode();
}
@ -281,9 +289,9 @@ public class BarCodePane extends FurtherBasicBeanPane<BarcodePresent> {
public BarcodePresent updateBean() {
BarcodeAttr barcodeAttr = new BarcodeAttr();
if ((typeComboBox.getSelectedIndex() == NUM16)) {
barcodeAttr.setRCodeVersion(this.RCodeVersionComboBox.getSelectedIndex());
barcodeAttr.setRCodeErrorCorrect(this.RCodeErrorCorrectComboBox.getSelectedIndex());
barcodeAttr.setRcodeDrawPix((int) this.RCodesizespinner.getValue());
barcodeAttr.setRCodeVersion(this.versionComboBox.getSelectedIndex());
barcodeAttr.setRCodeErrorCorrect(this.errorCorrectComboBox.getSelectedIndex());
barcodeAttr.setRcodeDrawPix((int) this.sizeSpinner.getValue());
}
barcodeAttr.setType(this.typeComboBox.getSelectedIndex());
barcodeAttr.setBarWidth(((Double) this.barWidthSpinner.getValue()).doubleValue() / 10);

8
designer/src/com/fr/design/write/submit/SubmitVisitorListPane.java

@ -68,7 +68,7 @@ public class SubmitVisitorListPane extends ObjectJControlPane {
return;
}
List<NameObject> nameObjectList = new ArrayList<>();
List<NameObject> nameObjectList = new ArrayList<NameObject>();
int submiterCount = reportWriteAttr.getSubmitVisitorCount();
for (int i = 0; i < submiterCount; i++) {
@ -169,8 +169,8 @@ public class SubmitVisitorListPane extends ObjectJControlPane {
public CustomPane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
customCardPane = FRGUIPaneFactory.createCardLayout_S_Pane();
customSubmitPanes = new HashMap<>();
comboItemsMap = new HashMap<>();
customSubmitPanes = new HashMap<String, BasicBeanPane>();
comboItemsMap = new HashMap<String, String>();
Set<SubmitProvider> providers = ExtraDesignClassManager.getInstance().getArray(SubmitProvider.MARK_STRING);
addSubmitPane(new DefaultSubmit());
@ -178,7 +178,7 @@ public class SubmitVisitorListPane extends ObjectJControlPane {
addSubmitPane(provider);
}
configTypes = new ArrayList<>();
configTypes = new ArrayList<String>();
for (Map.Entry<String, BasicBeanPane> entry : customSubmitPanes.entrySet()) {
String key = entry.getKey();
configTypes.add(comboItemsMap.get(key));

3
designer_base/src/com/fr/design/condition/ConditionAttributesPane.java

@ -11,10 +11,12 @@ import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.Inter;
import javax.swing.*;
import java.awt.*;
import java.util.HashMap;
import java.util.Iterator;
public abstract class ConditionAttributesPane<T> extends BasicBeanPane<T> {
private static final int MIN_HEIGHT = 60;
protected CellHighlightAddMenuDef menuDef;
protected JPanel selectedItemPane;
@ -61,6 +63,7 @@ public abstract class ConditionAttributesPane<T> extends BasicBeanPane<T> {
JScrollPane selectedItemScrollPane = new JScrollPane();
selectedItemScrollPane.setViewportView(selectedItemPane);
selectedItemScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
selectedItemScrollPane.setMinimumSize(new Dimension((int) selectedItemScrollPane.getPreferredSize().getWidth(), MIN_HEIGHT));
propertyChangePane.add(selectedItemScrollPane);
}

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

@ -2,12 +2,16 @@ package com.fr.design.foldablepane;
import com.fr.base.GraphHelper;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.syntax.ui.rsyntaxtextarea.RSyntaxUtilities;
import javax.swing.*;
import java.awt.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.util.Map;
/**
* Created by MoMeak on 2017/7/5.
@ -55,26 +59,20 @@ public class HeaderPane extends JPanel {
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g.create();
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
BufferedImage panelImage = createPanelImage();
g2d.drawImage(panelImage, null, 0, 0);
GraphHelper.applyRenderingHints(g2d);
GraphHelper.drawString(g2d, this.title, TITLE_X, headHeight - fontSize / 2 - 1);
}
private BufferedImage createPanelImage() {
BufferedImage panelImage = new BufferedImage(getWidth(), headHeight, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = panelImage.createGraphics();
g2d.setColor(isPressed ? UIConstants.POPUP_TITLE_BACKGROUND : UIConstants.COMPONENT_BACKGROUND_COLOR);
headWidth = this.getWidth();
g2d.fillRect(0, 0, headWidth, headHeight);
g2d.setFont(new Font("SimSun", 0, fontSize));
g2d.setPaint(bgColor);
Map<?, ?> desktopHints = RSyntaxUtilities.getDesktopAntiAliasHints();
if (desktopHints != null) {
g2d.setRenderingHints(desktopHints);
}
int leftWdith = headWidth - LEFT_X;
if (this.isShow) {
image = UIConstants.DRAG_DOWN_SELECTED_SMALL;

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

@ -107,10 +107,10 @@ FR-Designer_Font-Size=
FR-Designer_Forbid_Drag_into_Adapt_Pane=Forbid Drag into Para Pane
FR-Designer_Forbid_Drag_into_Para_Pane=Forbid Drag into Para Pane
FR-Designer_Foreground=
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=Form authority editing can not be supported
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=Dashboard authority editing can not be supported
FR-Designer_Form-Report=
FR-Designer_Form_EmbeddedTD=
FR-Designer_Form_Module=Form Module
FR-Designer_Form_Module=Dashboard Module
FR-Designer_Format_explan=
FR-Designer_Formula=
FR-Designer_Forum=
@ -562,7 +562,7 @@ FR-Designer_DS_TableData=Data Set
FR-Designer_Parameter-Formula=Formula
FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update.
FR-Designer_WidgetOrder=Widget Order
FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP.
FR-Designer_Mobile_Form_Analysis_Annotation=annotation: You can use this attribute to control the analysis of the dashboard in the APP.
FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid.
FR-Designer_Background_Null=
FR-Designer_Background_Color=
@ -620,7 +620,7 @@ Tree-Width=Tree Width
alert_word=
PageSetup-Paper_Size=Paper Size
M-Page_Setup=Page Setup
DashBoard-FormBook=Form
DashBoard-FormBook=Dashboard
X-Coordinate=X Coordinate
Style-Line_Spacing=Line Spacing
FR-Designer_Plugin_Should_Update_Title=Warning
@ -696,7 +696,7 @@ WF-Name=Name
RWA-Click_Cell_To_Edit_Value=Click Cell to Edit Value
Utils-Row_Height=Row Height
ReportD-Excel_Export=ReportD Excel Export
Form-Please_Select_A_Kind_Of_Form_Container=Select Form Container
Form-Please_Select_A_Kind_Of_Form_Container=Select Dashboard Container
Column_Does_Not_Exsit=Column Does Not Exsit
M_Insert-Hyperlink=Hyperlink
can_not_include_underline=can not contain "_"
@ -831,7 +831,7 @@ Values=Values
Not_use_a_cell_attribute_table_editing=You may not use a cell attribute table editing
Root=Root
cycle=cycle
open-new-form-tip=open new form tip
open-new-form-tip=open new dashboard tip
Support-Current_Auto_Complete_Shortcut=Current Shortcut
GROUPING_MODE=Grouping
DBCP_MAX_IDLE=MaxIdle
@ -1088,7 +1088,7 @@ Form-View_Tree=Tree View
M_Insert-Chart=Insert Chart
HF-Even_Page=Even Page
ReportServerP-Report_server_parameter=Report Server Parameter
JavaScript-Form_Submit=Form Submit
JavaScript-Form_Submit=Dashboard Submit
Horizontal-Split_Layout=Horizontal Split Layout
BorderLayout-Center=Center
INFO-Reset_Webapp=Reset Webapp
@ -1439,7 +1439,7 @@ ReportColumns-Columns_after=Columns after
FR-Designer_Undo=
DBCP_MIN_IDLE=MinIdle
M-Data_Analysis_Settings=Data Analysis Settings
M-Form_Preview=Form Preview
M-Form_Preview=Dashboard Preview
Form-Basic_Properties=Basic Properties
quote=
Thu=Thu
@ -1594,7 +1594,7 @@ FS_Report_Type=Report Type
HF-New_Line=New Line
Privilege=Privilege
Export-Offline-Html=Export Offline HTML
FR-Designer_open-new-form-tip=open new form tip
FR-Designer_open-new-form-tip=open new dashboard tip
FR-Designer-Widget-Style_Frame_Style=
Present-No_Present=No Present
FR-Designer_Form-Password=Password
@ -1618,7 +1618,7 @@ Above=Above
Utils-The-Chart=
FRFont-plain=plain
Calculating=Calculating
Form-Object=Form Object
Form-Object=Dashboard Object
May=May
FR-Designer_Plugin_Normal_Update=Update
FR-Hyperlink_Reportlet=
@ -1753,7 +1753,7 @@ ReportServerP-Last=Last
FR-Base_Columns=
SpecifiedG-Leave_in_their_own_groups=Leave in their own groups
LOG-Please_Wait=Please Waiting
Form-ToolBar=Form ToolBar
Form-ToolBar=Dashboard ToolBar
FR-Base_sure_remove_item=
Component_Scale=Component Scale
Hyperlink-Use_CJK_to_encode_parameter=Use CJK to encode parameter
@ -1798,7 +1798,7 @@ Only_selected_cell_can_paste_only=Only selected cell can paste only
M_Report-Report_Columns=Report Columns
Unit_Hundred=Hundred
FR-Designer_DataTable-Build=
Widget-Form_Widget_Config=Form Widget
Widget-Form_Widget_Config=Dashboard Widget
Server-version-tip-moreInfo=Your own team of our FineReport Designer version number of the product as well as the deployment server version number is consistent, in order to avoid the problems caused by inconsistent versions of risk.If you open a template produced higher Designer version, may open the error may be missing the original template properties. If you create the template used Designer Version higher than your final deployment with the server version, the server may not be able to properly load the template you create.
Actions=Actions
FR-Designer-Dependence_Connect_Server_Error=connect error
@ -1951,7 +1951,7 @@ ReportServerP-Import_JavaScript=Import JavaScript
Form-TableTree=Table Tree
Opened=Opened
M_Edit-Delete=Delete
Widget-Form_Widget_Container=Form Container
Widget-Form_Widget_Container=Dashboard Container
BindColumn-Summary=Summary
Sche-Second=Second
Server-Open_Service_Manager=Open Service Manager

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

@ -103,13 +103,13 @@ FR-Designer_Fit-App=App self-adaption
FR-Designer_Fit=self-adaption
FR-Designer_Font-Family=Font name
FR-Designer_Font-Size=Font size
FR-Designer_Forbid_Drag_into_Adapt_Pane=Form body cannot be dragged into the object
FR-Designer_Forbid_Drag_into_Adapt_Pane=Dashboard body cannot be dragged into the object
FR-Designer_Forbid_Drag_into_Para_Pane=The object cannot be dragged into the parameter panel
FR-Designer_Foreground=Foreground
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=Form permissions edition is not supported
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=Dashboard permissions edition is not supported
FR-Designer_Form-Report=Report block
FR-Designer_Form_EmbeddedTD=Form(built-in data)
FR-Designer_Form_Module=Form Module
FR-Designer_Form_EmbeddedTD=Dashboard(built-in data)
FR-Designer_Form_Module=Dashboard Module
FR-Designer_Format_explan=Format explain
FR-Designer_Allow-Blank=Allow Blank
FR-Designer_Formula=Formula
@ -500,7 +500,7 @@ FR-Designer_Properties_Mobile=MobileProperties
FR-Designer_Button_OK=OK
FR-Designer_Button_Cancel=Cancel
FR-Designer_JavaScript=JavaScript
FR-Designer_JavaScript_Form_Submit=Form Submit
FR-Designer_JavaScript_Form_Submit=Dashboard Submit
FR-Designer_JavaScript_Commit_to_Database=Commit to DB
FR-Designer_JavaScript_Custom=Custom
FR-Designer_RWA_Submit=Submit
@ -563,7 +563,7 @@ FR-Designer_DS_TableData=Data Set
FR-Designer_Parameter-Formula=Formula
FR-Designer_Plugin_Should_Update_Please_Contact_Developer=Plugin version is too low, and is not compatible with current API. Please contact the developer to update.
FR-Designer_WidgetOrder=Widget Order
FR-Designer_Mobile_Form_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the form in the APP.
FR-Designer_Mobile_Form_Analysis_Annotation=annotation: You can use this attribute to control the analysis of the dashboard in the APP.
FR-Designer_Mobile_Report_Analysis_Annotation=annotation\: You can use this attribute to control the analysis of the report in the APP, only to support the paging preview, fill in the preview of the property is invalid.
FR-Designer_Background_Null=No Background
FR-Designer_Background_Color=Color
@ -622,7 +622,7 @@ Tree-Width=Tree Width
alert_word=Export without fixed height, cell hight will change according to the content and pagination position will different from the preview result.
PageSetup-Paper_Size=Paper Size
M-Page_Setup=Page Setup
DashBoard-FormBook=Form
DashBoard-FormBook=Dashboard
X-Coordinate=Horizontal axis
Style-Line_Spacing=Line Spacing
FR-Designer_Plugin_Should_Update_Title=Warning
@ -698,7 +698,7 @@ WF-Name=Name
RWA-Click_Cell_To_Edit_Value=Click Cell to Edit Value
Utils-Row_Height=Row Height
ReportD-Excel_Export=Export Attributes
Form-Please_Select_A_Kind_Of_Form_Container=Select A Form Container
Form-Please_Select_A_Kind_Of_Form_Container=Select A Dashboard Container
Column_Does_Not_Exsit=Column Does Not Exsit
M_Insert-Hyperlink=Hyperlink
can_not_include_underline=Can not contain "_"
@ -833,7 +833,7 @@ Values=Values
Not_use_a_cell_attribute_table_editing=You may not use a cell attribute table editing
Root=Root node
cycle=Cycle
open-new-form-tip=open new form tip
open-new-form-tip=open new dashboard tip
Support-Current_Auto_Complete_Shortcut=Current Shortcut key
GROUPING_MODE=Ordinary Grouping
DBCP_MAX_IDLE=Max Idle Connections
@ -1090,7 +1090,7 @@ Form-View_Tree=View Tree
M_Insert-Chart=Insert Chart
HF-Even_Page=Even Page
ReportServerP-Report_server_parameter=Report Server Parameter
JavaScript-Form_Submit=Form Submit
JavaScript-Form_Submit=Dashboard Submit
Horizontal-Split_Layout=Horizontal partitioning layout
BorderLayout-Center=Center
INFO-Reset_Webapp=Reset Application Server
@ -1440,7 +1440,7 @@ ReportColumns-Columns_after=Over
FR-Designer_Undo=Undo
DBCP_MIN_IDLE=Min Idle Connections
M-Data_Analysis_Settings=Data Analysis Settings
M-Form_Preview=Form Preview
M-Form_Preview=Dashboard Preview
Form-Basic_Properties=Basic Property
quote=quote
Thu=Thu
@ -1518,7 +1518,7 @@ FR-Template-Path_chooseRightPath=Please choose a right path
FR-Remote_Re_Connect_to_Server=The server is down, whether to reconnect it
Nation=Country
DBCP_MAX_WAIT=Max wait time
FR-App-Template_Form=Form
FR-App-Template_Form=Dashboard
Address=Address
Sub_Report=Sub Report
FR-Import-Export_Word=Word
@ -1561,7 +1561,7 @@ Sub_Report_Description=The sub-report should exist in the runtime environment of
T_Insert-Float=Insert Float Element
BackgroundTexture-FishFossil=Fish Fossil
My_Computer=My Computer
FORMLET=Path parameter when accessing different forms
FORMLET=Path parameter when accessing different dashboards
HF-Undefined=Undefined
Widget-User_Defined_Widget_Config=Predefined control
Report-Write_Attributes_Group_Warning=Number of cells in each field in all cell group must be the same
@ -1595,7 +1595,7 @@ FS_Report_Type=Report Type
HF-New_Line=Line breaks
Privilege=Permission
Export-Offline-Html=Output offline HTML report
FR-Designer_open-new-form-tip=The form is created by the designer older than 711 vision, it cannot be opened. Please use the corresponding designer.
FR-Designer_open-new-form-tip=The dashboard is created by the designer older than 711 vision, it cannot be opened. Please use the corresponding designer.
FR-Designer-Widget-Style_Frame_Style=Frame Style
Present-No_Present=Cancel Present Settings
FR-Designer_Form-Password=Password
@ -1619,7 +1619,7 @@ Above=Above Version
Utils-The-Chart=Chart
FRFont-plain=General
Calculating=Calculating
Form-Object=Form Object\:
Form-Object=Dashboard Object:
May=May
FR-Designer_Plugin_Normal_Update=Update
FR-Hyperlink_Reportlet=Webreport
@ -1754,7 +1754,7 @@ ReportServerP-Last=Last
FR-Base_Columns=Columns
SpecifiedG-Leave_in_their_own_groups=Leave in their own groups
LOG-Please_Wait=Please Waiting
Form-ToolBar=Form ToolBar
Form-ToolBar=Dashboard ToolBar
FR-Base_sure_remove_item=Are you sure to delete the selected item
Component_Scale=Component Scale
Hyperlink-Use_CJK_to_encode_parameter=Use CJK to process parameter
@ -1799,7 +1799,7 @@ Only_selected_cell_can_paste_only=Paste when cell is selected
M_Report-Report_Columns=Multi-columns/lines
Unit_Hundred=Hundred
FR-Designer_DataTable-Build=Speed layered construction
Widget-Form_Widget_Config=Form control
Widget-Form_Widget_Config=Dashboard control
Server-version-tip-moreInfo=Conform the version numbers of FineReport Designer and the deployment server are consistent, in order to avoid the problems caused by inconsistent versions. If you open the template produced by higher designer vision, error may occurs or the original template properties missed. If the Designer Version you used to create the template is higher than the final deployment server version, the server may not be able to properly load the template.
Actions=Task
FR-Designer-Dependence_Connect_Server_Error=connect error
@ -1952,7 +1952,7 @@ ReportServerP-Import_JavaScript=Reference JavaScript
Form-TableTree=Table Tree
Opened=Opened
M_Edit-Delete=Delete
Widget-Form_Widget_Container=Form Container
Widget-Form_Widget_Container=Dashboard Container
BindColumn-Summary=Summary
Sche-Second=Second
Server-Open_Service_Manager=Open Service Manager

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

@ -104,13 +104,13 @@ FR-Designer_Fit-App=App\u81EA\u9002\u5E94
FR-Designer_Fit=\u81EA\u9002\u5E94
FR-Designer_Font-Family=\u5B57\u4F53\u540D\u79F0
FR-Designer_Font-Size=\u5B57\u4F53\u5927\u5C0F
FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8BE5\u5BF9\u8C61\u4E0D\u5141\u8BB8\u62D6\u5165\u8868\u5355\u4E3B\u4F53
FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8BE5\u5BF9\u8C61\u4E0D\u5141\u8BB8\u62D6\u5165\u51B3\u7B56\u62A5\u8868\u4E3B\u4F53
FR-Designer_Forbid_Drag_into_Para_Pane=\u8BE5\u5BF9\u8C61\u4E0D\u80FD\u62D6\u5165\u53C2\u6570\u9762\u677F
FR-Designer_Foreground=\u989C\u8272
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=\u6682\u4E0D\u652F\u6301\u8868\u5355\u6743\u9650\u7F16\u8F91
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=\u6682\u4E0D\u652F\u6301\u51B3\u7B56\u62A5\u8868\u6743\u9650\u7F16\u8F91
FR-Designer_Form-Report=\u62A5\u8868\u5757
FR-Designer_Form_EmbeddedTD=\u8868\u5355(\u5185\u7F6E\u6570\u636E)
FR-Designer_Form_Module=\u8868\u5355\u6A21\u5757
FR-Designer_Form_EmbeddedTD=\u51B3\u7B56\u62A5\u8868(\u5185\u7F6E\u6570\u636E)
FR-Designer_Form_Module=\u51B3\u7B56\u62A5\u8868\u6A21\u5757
FR-Designer_Format_explan=\u683C\u5F0F\u8BF4\u660E
FR-Designer_Formula=\u516C\u5F0F
FR-Designer_Forum=\u8BBA\u575B
@ -119,7 +119,7 @@ FR-Designer_Help=\u5E2E\u52A9
FR-Designer_Hide=\u9690\u85CF
FR-Designer_Show=\u663E\u793A
FR-Designer_Hyperlink=\u8D85\u7EA7\u94FE\u63A5
FR-Designer_Hyperlink-Form_link=\u5F53\u524D\u8868\u5355\u5BF9\u8C61
FR-Designer_Hyperlink-Form_link=\u5F53\u524D\u51B3\u7B56\u62A5\u8868\u5BF9\u8C61
FR-Designer_IDCard=\u8EAB\u4EFD\u8BC1
FR-Designer_Icon=\u56FE\u6807
FR-Designer_Index=\u5217\u8F74/\u6307\u6807
@ -507,7 +507,7 @@ FR-Designer_Properties_Mobile=\u624B\u673A\u5C5E\u6027
FR-Designer_Button_OK=\u786E\u5B9A
FR-Designer_Button_Cancel=\u53D6\u6D88
FR-Designer_JavaScript=JavaScript\u811A\u672C
FR-Designer_JavaScript_Form_Submit=\u8868\u5355\u63D0\u4EA4
FR-Designer_JavaScript_Form_Submit=\u51B3\u7B56\u62A5\u8868\u63D0\u4EA4
FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5E93
FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u4E49
FR-Designer_RWA_Submit=\u63D0\u4EA4
@ -574,7 +574,7 @@ FR-Designer_DS_TableData=\u6570\u636E\u96C6
FR-Designer_Parameter-Formula=\u516C\u5F0F
FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u63D2\u4EF6\u7248\u672C\u8FC7\u4F4E, \u5B58\u5728API\u4E0D\u517C\u5BB9, \u8BF7\u8054\u7CFB\u5F00\u53D1\u8005\u5347\u7EA7\u63D2\u4EF6
FR-Designer_WidgetOrder=\u63A7\u4EF6\u987A\u5E8F
FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u8868\u5355\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002
FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CA\uFF1A\u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u51B3\u7B56\u62A5\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002
FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CA: \u53EF\u4EE5\u901A\u8FC7\u8BE5\u5C5E\u6027\u63A7\u5236\u62A5\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9875\u9884\u89C8\uFF0C\u586B\u62A5\u9884\u89C8\u65F6\u5C5E\u6027\u65E0\u6548\u3002
FR-Designer_Background_Null=\u6CA1\u6709\u80CC\u666F
FR-Designer_Background_Color=\u989C\u8272
@ -624,7 +624,7 @@ Tree-Width=\u5BBD\u5EA6
alert_word=\u9009\u62E9\u4E0D\u56FA\u5B9A\u884C\u9AD8\u5BFC\u51FA\u65F6, \u7F16\u8F91\u5BFC\u51FA\u7684word, \u5355\u5143\u683C\u884C\u9AD8\u4F1A\u968F\u7740\u5185\u5BB9\u81EA\u52A8\u62C9\u4F38, \u6B64\u60C5\u51B5\u4E0B\u5BFC\u51FA\u7ED3\u679C\u5206\u9875\u4F4D\u7F6E\u4E0E\u9884\u89C8\u7ED3\u679C\u53EF\u80FD\u4F1A\u4E0D\u518D\u4E00\u81F4.
PageSetup-Paper_Size=\u7EB8\u5F20\u5927\u5C0F
M-Page_Setup=\u9875\u9762\u8BBE\u7F6E
DashBoard-FormBook=\u8868\u5355
DashBoard-FormBook=\u51B3\u7B56\u62A5\u8868
X-Coordinate=\u6A2A\u5750\u6807
Style-Line_Spacing=\u884C\u95F4\u8DDD
FR-Designer_Plugin_Should_Update_Title=\u63D2\u4EF6\u5347\u7EA7\u63D0\u9192
@ -700,7 +700,7 @@ WF-Name=\u540D\u79F0
RWA-Click_Cell_To_Edit_Value=\u5355\u51FB\u6A21\u677F\u5355\u5143\u683C\u4FEE\u6539\u503C
Utils-Row_Height=\u884C\u9AD8
ReportD-Excel_Export=\u6A21\u677F\u5BFC\u51FA\u5C5E\u6027
Form-Please_Select_A_Kind_Of_Form_Container=\u8BF7\u9009\u62E9\u4E00\u79CD\u8868\u5355\u5BB9\u5668
Form-Please_Select_A_Kind_Of_Form_Container=\u8BF7\u9009\u62E9\u4E00\u79CD\u51B3\u7B56\u62A5\u8868\u5BB9\u5668
Column_Does_Not_Exsit=\u5217\u4E0D\u5B58\u5728
M_Insert-Hyperlink=\u8D85\u7EA7\u94FE\u63A5
can_not_include_underline=\u4E0D\u80FD\u5305\u542B"_"
@ -835,7 +835,7 @@ Values=\u503C
Not_use_a_cell_attribute_table_editing=\u60A8\u4E0D\u53EF\u4EE5\u7528\u5355\u5143\u683C\u5C5E\u6027\u8868\u7F16\u8F91
Root=\u6839\u8282\u70B9
cycle=\u5468\u671F
open-new-form-tip=\u5F53\u524D\u6A21\u677F\u4E3A711\u4EE5\u4E0B\u7248\u672C\u5236\u4F5C\uFF0C\u65E0\u6CD5\u517C\u5BB9\uFF0C\u4E0D\u80FD\u6253\u5F00\u3002\u5047\u5982\u60F3\u6253\u5F00\u4FEE\u6539\u6B64\u8868\u5355\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7248\u672C\u8BBE\u8BA1\u5668\u6253\u5F00\u3002
open-new-form-tip=\u5F53\u524D\u6A21\u677F\u4E3A711\u4EE5\u4E0B\u7248\u672C\u5236\u4F5C\uFF0C\u65E0\u6CD5\u517C\u5BB9\uFF0C\u4E0D\u80FD\u6253\u5F00\u3002\u5047\u5982\u60F3\u6253\u5F00\u4FEE\u6539\u6B64\u51B3\u7B56\u62A5\u8868\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7248\u672C\u8BBE\u8BA1\u5668\u6253\u5F00\u3002
Support-Current_Auto_Complete_Shortcut=\u5F53\u524D\u5FEB\u6377\u952E
GROUPING_MODE=\u666E\u901A\u5206\u7EC4
DBCP_MAX_IDLE=\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5\u6570
@ -1092,7 +1092,7 @@ Form-View_Tree=\u89C6\u56FE\u6811
M_Insert-Chart=\u63D2\u5165\u56FE\u8868
HF-Even_Page=\u5076\u6570\u9875
ReportServerP-Report_server_parameter=\u62A5\u8868\u670D\u52A1\u5668\u53C2\u6570
JavaScript-Form_Submit=\u8868\u5355\u63D0\u4EA4
JavaScript-Form_Submit=\u51B3\u7B56\u62A5\u8868\u63D0\u4EA4
Horizontal-Split_Layout=\u6C34\u5E73\u5206\u5272\u5E03\u5C40
BorderLayout-Center=\u4E2D
INFO-Reset_Webapp=\u91CD\u7F6E\u5E94\u7528\u670D\u52A1\u5668
@ -1442,7 +1442,7 @@ ReportColumns-Columns_after=\u8D85\u8FC7
FR-Designer_Undo=\u64A4\u9500
DBCP_MIN_IDLE=\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5\u6570
M-Data_Analysis_Settings=\u6570\u636E\u5206\u6790\u8BBE\u7F6E
M-Form_Preview=\u8868\u5355\u9884\u89C8
M-Form_Preview=\u51B3\u7B56\u62A5\u8868\u9884\u89C8
Form-Basic_Properties=\u57FA\u672C\u5C5E\u6027
quote=\u5F15\u7528
Thu=\u56DB
@ -1519,7 +1519,7 @@ FR-Template-Path_chooseRightPath=\u8BF7\u9009\u62E9\u6B63\u786E\u8DEF\u5F84
FR-Remote_Re_Connect_to_Server=\u670D\u52A1\u5668\u5DF2\u5173\u95ED\uFF0C\u662F\u5426\u91CD\u65B0\u8FDE\u63A5\u670D\u52A1\u5668?
Nation=\u56FD\u5BB6
DBCP_MAX_WAIT=\u6700\u5927\u7B49\u5F85\u65F6\u95F4
FR-App-Template_Form=\u8868\u5355
FR-App-Template_Form=\u51B3\u7B56\u62A5\u8868
Address=\u5730\u5740
Sub_Report=\u5B50\u62A5\u8868
FR-Import-Export_Word=Word\u683C\u5F0F
@ -1562,7 +1562,7 @@ Sub_Report_Description=\u5B50\u62A5\u8868\u9700\u8981\u5B58\u5728\u4E8E\u7236\u8
T_Insert-Float=\u63D2\u5165\u60AC\u6D6E\u5143\u7D20
BackgroundTexture-FishFossil=\u9C7C\u7C7B\u5316\u77F3
My_Computer=\u6211\u7684\u7535\u8111
FORMLET=\u8BBF\u95EE\u4E0D\u540C\u8868\u5355\u7684\u8DEF\u5F84\u7684\u53C2\u6570
FORMLET=\u8BBF\u95EE\u4E0D\u540C\u51B3\u7B56\u62A5\u8868\u7684\u8DEF\u5F84\u7684\u53C2\u6570
HF-Undefined=\u6CA1\u6709\u5B9A\u4E49
Widget-User_Defined_Widget_Config=\u9884\u5B9A\u4E49\u63A7\u4EF6
Report-Write_Attributes_Group_Warning=\u8BBE\u7F6E\u4E3A\u5355\u5143\u683C\u7EC4\u7684\u5404\u5B57\u6BB5\u4E2D\u7684\u5355\u5143\u683C\u4E2A\u6570\u5FC5\u987B\u76F8\u540C
@ -1596,7 +1596,7 @@ FS_Report_Type=\u7C7B\u578B
HF-New_Line=\u6362\u884C\u7B26
Privilege=\u6743\u9650
Export-Offline-Html=\u8F93\u51FA\u79BB\u7EBFhtml\u62A5\u8868
FR-Designer_open-new-form-tip=\u5F53\u524D\u6A21\u677F\u4E3A711\u4EE5\u4E0B\u7248\u672C\u5236\u4F5C\uFF0C\u65E0\u6CD5\u517C\u5BB9\uFF0C\u4E0D\u80FD\u6253\u5F00\u3002\u5047\u5982\u60F3\u6253\u5F00\u4FEE\u6539\u6B64\u8868\u5355\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7248\u672C\u8BBE\u8BA1\u5668\u6253\u5F00\u3002
FR-Designer_open-new-form-tip=\u5F53\u524D\u6A21\u677F\u4E3A711\u4EE5\u4E0B\u7248\u672C\u5236\u4F5C\uFF0C\u65E0\u6CD5\u517C\u5BB9\uFF0C\u4E0D\u80FD\u6253\u5F00\u3002\u5047\u5982\u60F3\u6253\u5F00\u4FEE\u6539\u6B64\u51B3\u7B56\u62A5\u8868\uFF0C\u8BF7\u4F7F\u7528\u5BF9\u5E94\u7248\u672C\u8BBE\u8BA1\u5668\u6253\u5F00\u3002
FR-Designer-Widget-Style_Frame_Style=\u6846\u67B6\u6837\u5F0F
Present-No_Present=\u53D6\u6D88\u5F62\u6001\u8BBE\u7F6E
FR-Designer_Form-Password=\u5BC6\u7801
@ -1620,7 +1620,7 @@ Above=\u4EE5\u4E0A\u7248\u672C
Utils-The-Chart=\u56FE\u8868
FRFont-plain=\u5E38\u89C4
Calculating=\u5904\u7406\u4E2D
Form-Object=\u8868\u5355\u5BF9\u8C61\:
Form-Object=\u51B3\u7B56\u62A5\u8868\u5BF9\u8C61\:
May=\u4E94\u6708
FR-Designer_Plugin_Normal_Update=\u66F4\u65B0
FR-Hyperlink_Reportlet=\u7F51\u7EDC\u62A5\u8868
@ -1755,7 +1755,7 @@ ReportServerP-Last=\u672B\u9875
FR-Base_Columns=\u5217
SpecifiedG-Leave_in_their_own_groups=\u7559\u5728\u5404\u81EA\u7684\u7EC4\u5185
LOG-Please_Wait=\u8BF7\u7A0D\u5019
Form-ToolBar=\u8868\u5355\u5DE5\u5177\u680F
Form-ToolBar=\u51B3\u7B56\u62A5\u8868\u5DE5\u5177\u680F
FR-Base_sure_remove_item=\u4F60\u786E\u5B9E\u51B3\u5B9A\u5220\u9664\u9009\u4E2D\u7684\u9879
Component_Scale=\u7EC4\u4EF6\u7F29\u653E
Hyperlink-Use_CJK_to_encode_parameter=\u4F7F\u7528CJK\u5904\u7406\u53C2\u6570
@ -1800,7 +1800,7 @@ Only_selected_cell_can_paste_only=\u53EA\u6709\u9009\u4E2D\u5355\u5143\u683C\u65
M_Report-Report_Columns=\u62A5\u8868\u5206\u680F
Unit_Hundred=\u767E
FR-Designer_DataTable-Build=\u6781\u901F\u5206\u5C42\u6784\u5EFA
Widget-Form_Widget_Config=\u8868\u5355\u63A7\u4EF6
Widget-Form_Widget_Config=\u51B3\u7B56\u62A5\u8868\u63A7\u4EF6
Server-version-tip-moreInfo=\u5EFA\u8BAE\u60A8\u6240\u5C5E\u56E2\u961F\u4F7F\u7528\u7684\u6211\u65B9FineReport\u4EA7\u54C1\u7684\u8BBE\u8BA1\u5668\u7248\u672C\u53F7\u4EE5\u53CA\u90E8\u7F72\u7684\u670D\u52A1\u5668\u7248\u672C\u53F7\u4FDD\u6301\u4E00\u81F4\uFF0C\u4EE5\u907F\u514D\u7248\u672C\u4E0D\u4E00\u81F4\u9020\u6210\u7684\u95EE\u9898\u98CE\u9669\u3002\n\u5047\u5982\u60A8\u6253\u5F00\u66F4\u9AD8\u8BBE\u8BA1\u5668\u7248\u672C\u5236\u4F5C\u7684\u6A21\u677F\uFF0C\u53EF\u80FD\u6253\u5F00\u51FA\u9519\uFF0C\u4E5F\u53EF\u80FD\u4E22\u5931\u539F\u6709\u6A21\u677F\u5C5E\u6027\u3002\u5047\u5982\u60A8\u5236\u4F5C\u7684\u6A21\u677F\u4F7F\u7528\u7684\u8BBE\u8BA1\u5668\u7248\u672C\u9AD8\u4E8E\u60A8\u6700\u7EC8\u90E8\u7F72\u6240\u7528\u7684\u670D\u52A1\u5668\u7248\u672C\uFF0C\u670D\u52A1\u5668\u53EF\u80FD\u65E0\u6CD5\u6B63\u5E38\u8F7D\u5165\u60A8\u5236\u4F5C\u7684\u6A21\u677F\u3002
Actions=\u4EFB\u52A1
FR-Designer-Dependence_Connect_Server_Error=\u65E0\u6CD5\u8FDE\u63A5\u670D\u52A1\u5668\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5
@ -1953,7 +1953,7 @@ ReportServerP-Import_JavaScript=\u5F15\u7528JavaScript
Form-TableTree=\u8868\u683C\u6811
Opened=\u5DF2\u5F00\u542F
M_Edit-Delete=\u5220\u9664(D)
Widget-Form_Widget_Container=\u8868\u5355\u5BB9\u5668
Widget-Form_Widget_Container=\u51B3\u7B56\u62A5\u8868\u5BB9\u5668
BindColumn-Summary=\u6C47\u603B
Sche-Second=\u79D2
Server-Open_Service_Manager=\u6253\u5F00\u670D\u52A1\u7BA1\u7406\u5668

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

@ -103,10 +103,10 @@ FR-Designer_Fit-App=App\u81EA\u9069\u61C9
FR-Designer_Fit=\u81EA\u9069\u61C9
FR-Designer_Font-Family=\u5B57\u9AD4\u540D\u7A31
FR-Designer_Font-Size=\u5B57\u9AD4\u5927\u5C0F
FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8A72\u5C0D\u8C61\u4E0D\u5141\u8A31\u62D6\u5165\u8868\u55AE\u4E3B\u9AD4
FR-Designer_Forbid_Drag_into_Adapt_Pane=\u8A72\u5C0D\u8C61\u4E0D\u5141\u8A31\u62D6\u5165\u6C7A\u7B56\u5831\u8868\u4E3B\u9AD4
FR-Designer_Forbid_Drag_into_Para_Pane=\u8A72\u5C0D\u8C61\u4E0D\u80FD\u62D6\u5165\u53C3\u6578\u9762\u677F
FR-Designer_Foreground=\u984F\u8272
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=\u66AB\u4E0D\u652F\u6301\u8868\u55AE\u6B0A\u9650\u7DE8\u8F2F
FR-Designer_Form-AuthorityEdited_Cannot_be_Supported=\u66AB\u4E0D\u652F\u6301\u6C7A\u7B56\u5831\u8868\u6B0A\u9650\u7DE8\u8F2F
FR-Designer_Form-Report=\u5831\u8868\u683C\u5F0F
FR-Designer_Form_EmbeddedTD=\u5167\u5D01\u683C\u5F0F
FR-Designer_Form_Module=\u6A21\u7D44\u683C\u5F0F
@ -117,7 +117,7 @@ FR-Designer_Get-Cube=\u6B63\u5728\u7372\u53D6cube
FR-Designer_Help=\u8AAA\u660E
FR-Designer_Hide=\u96B1\u85CF
FR-Designer_Hyperlink=\u8D85\u7D1A\u93C8\u63A5
FR-Designer_Hyperlink-Form_link=\u7576\u524D\u8868\u55AE\u5C0D\u8C61
FR-Designer_Hyperlink-Form_link=\u7576\u524D\u6C7A\u7B56\u5831\u8868\u5C0D\u8C61
FR-Designer_IDCard=\u8EAB\u4EFD\u8B49
FR-Designer_Icon=\u5716\u793A
FR-Designer_Index=\u7D22\u5F15
@ -493,7 +493,7 @@ FR-Designer_Properties_Mobile=\u624B\u6A5F\u5C6C\u6027
FR-Designer_Button_OK=\u78BA\u5B9A
FR-Designer_Button_Cancel=\u53D6\u6D88
FR-Designer_JavaScript=JavaScript\u8173\u672C
FR-Designer_JavaScript_Form_Submit=\u8868\u55AE\u63D0\u4EA4
FR-Designer_JavaScript_Form_Submit=\u6C7A\u7B56\u5831\u8868\u63D0\u4EA4
FR-Designer_JavaScript_Commit_to_Database=\u63D0\u4EA4\u5165\u5EAB
FR-Designer_JavaScript_Custom=\u81EA\u5B9A\u7FA9
FR-Designer_RWA_Submit=\u63D0\u4EA4
@ -560,7 +560,7 @@ FR-Designer_DS_TableData=\u8CC7\u6599\u96C6
FR-Designer_Parameter-Formula=\u516C\u5F0F
FR-Designer_Plugin_Should_Update_Please_Contact_Developer=\u633F\u4EF6\u7248\u672C\u904E\u4F4E\uFF0C\u5B58\u5728API\u4E0D\u76F8\u5BB9\uFF0C\u8ACB\u806F\u7CFB\u958B\u767C\u8005\u965E\u7D1A\u633F\u4EF6
FR-Designer_WidgetOrder=\u63A7\u4EF6\u9806\u5E8F
FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u8868\u55AE\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002
FR-Designer_Mobile_Form_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u6C7A\u7B56\u5831\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\u3002
FR-Designer_Mobile_Report_Analysis_Annotation=\u6CE8\u91CB\uFF1A\u53EF\u4EE5\u901A\u904E\u8A72\u5C6C\u6027\u63A7\u5236\u5831\u8868\u5728APP\u4E2D\u7684\u89E3\u6790\u65B9\u5F0F\uFF0C\u53EA\u652F\u6301\u5206\u9801\u9810\u89BD\uFF0C\u586B\u5831\u9810\u89BD\u6642\u5C6C\u6027\u7121\u6548\u3002
FR-Designer_Background_Null=\u6C92\u6709\u80CC\u666F
FR-Designer_Background_Color=\u984F\u8272
@ -622,7 +622,7 @@ Tree-Width=\u5BEC\u5EA6
alert_word=\u9078\u64C7\u4E0D\u56FA\u5B9A\u5217\u9AD8\u532F\u51FA\u6642, \u7DE8\u8F2F\u532F\u51FA\u7684word, \u5132\u5B58\u683C\u5217\u9AD8\u6703\u96A8\u8457\u5167\u5BB9\u81EA\u52D5\u62C9\u4F38, \u6B64\u60C5\u6CC1\u4E0B\u532F\u51FA\u7D50\u679C\u8207\u9810\u89BD\u7D50\u679C\u53EF\u80FD\u6703\u4E0D\u518D\u4E00\u81F4.
PageSetup-Paper_Size=\u7D19\u5F35\u5927\u5C0F
M-Page_Setup=\u9801\u9762\u8A2D\u5B9A
DashBoard-FormBook=\u8868\u55AE
DashBoard-FormBook=\u6C7A\u7B56\u5831\u8868
X-Coordinate=\u6A6B\u5EA7\u6A19
Style-Line_Spacing=\u5217\u9593\u8DDD
FR-Designer_Plugin_Should_Update_Title=Warning
@ -698,7 +698,7 @@ WF-Name=\u540D\u7A31
RWA-Click_Cell_To_Edit_Value=\u55AE\u64CA\u6A21\u677F\u5132\u5B58\u683C\u4FEE\u6539\u503C
Utils-Row_Height=\u5217\u9AD8
ReportD-Excel_Export=\u5831\u8868\u532F\u51FA\u5C6C\u6027
Form-Please_Select_A_Kind_Of_Form_Container=\u8ACB\u9078\u64C7\u4E00\u7A2E\u8868\u55AE\u5BB9\u5668
Form-Please_Select_A_Kind_Of_Form_Container=\u8ACB\u9078\u64C7\u4E00\u7A2E\u6C7A\u7B56\u5831\u8868\u5BB9\u5668
Column_Does_Not_Exsit=\u6B04\u4E0D\u5B58\u5728
M_Insert-Hyperlink=\u8D85\u7D1A\u93C8\u63A5
can_not_include_underline=\u4E0D\u80FD\u5305\u542B"_"
@ -833,7 +833,7 @@ Values=\u503C
Not_use_a_cell_attribute_table_editing=\u60A8\u4E0D\u53EF\u4EE5\u7528\u5132\u5B58\u683C\u5C6C\u6027\u8868\u7DE8\u8F2F
Root=\u6839\u7BC0\u9EDE
cycle=\u5468\u671F
open-new-form-tip=\u7576\u524D\u6A21\u677F\u70BA711\u4EE5\u4E0B\u7248\u672C\u88FD\u4F5C, \u7121\u6CD5\u517C\u5BB9, \u4E0D\u80FD\u6253\u958B. \u5047\u5982\u60F3\u6253\u958B\u4FEE\u6539\u6B64\u8868\u55AE, \u8ACB\u4F7F\u7528\u5C0D\u61C9\u7248\u672C\u8A2D\u8A08\u5668\u6253\u958B.
open-new-form-tip=\u7576\u524D\u6A21\u677F\u70BA711\u4EE5\u4E0B\u7248\u672C\u88FD\u4F5C, \u7121\u6CD5\u517C\u5BB9, \u4E0D\u80FD\u6253\u958B. \u5047\u5982\u60F3\u6253\u958B\u4FEE\u6539\u6B64\u6C7A\u7B56\u5831\u8868, \u8ACB\u4F7F\u7528\u5C0D\u61C9\u7248\u672C\u8A2D\u8A08\u5668\u6253\u958B.
Support-Current_Auto_Complete_Shortcut=Current Shortcut
GROUPING_MODE=\u666E\u901A\u5206\u7D44
DBCP_MAX_IDLE=\u6700\u5927\u7A7A\u9591\u9023\u63A5\u6578
@ -1090,7 +1090,7 @@ Form-View_Tree=\u6AA2\u8996\u8868\u6A39
M_Insert-Chart=\u63D2\u5165\u5716\u8868
HF-Even_Page=\u5076\u6578\u9801
ReportServerP-Report_server_parameter=\u5831\u8868\u4F3A\u670D\u5668\u53C3\u6578
JavaScript-Form_Submit=\u8868\u55AE\u63D0\u4EA4
JavaScript-Form_Submit=\u6C7A\u7B56\u5831\u8868\u63D0\u4EA4
Horizontal-Split_Layout=\u6C34\u5E73\u5206\u5272\u5E03\u5C40
BorderLayout-Center=\u4E2D
INFO-Reset_Webapp=\u91CD\u7F6E\u61C9\u7528\u4F3A\u670D\u5668
@ -1439,7 +1439,7 @@ ReportColumns-Columns_after=\u8D85\u904E
FR-Designer_Undo=\u5FA9\u539F
DBCP_MIN_IDLE=\u6700\u5C0F\u7A7A\u9591\u9023\u63A5\u6578
M-Data_Analysis_Settings=\u8CC7\u6599\u5206\u6790\u8A2D\u5B9A
M-Form_Preview=\u8868\u55AE\u9810\u89BD
M-Form_Preview=\u6C7A\u7B56\u5831\u8868\u9810\u89BD
Form-Basic_Properties=\u57FA\u672C\u5C6C\u6027
quote=\u5F15\u7528
Thu=\u56DB
@ -1517,7 +1517,7 @@ FR-Template-Path_chooseRightPath=\u8ACB\u9078\u64C7\u6B63\u78BA\u8DEF\u5F91
FR-Remote_Re_Connect_to_Server=\u4F3A\u670D\u5668\u5DF2\u95DC\u9589\uFF0C\u662F\u5426\u91CD\u65B0\u9023\u63A5\u4F3A\u670D\u5668?
Nation=\u570B\u5BB6
DBCP_MAX_WAIT=\u6700\u5927\u7B49\u5F85\u6642\u9593
FR-App-Template_Form=\u8868\u55AE
FR-App-Template_Form=\u6C7A\u7B56\u5831\u8868
Address=\u5730\u5740
Sub_Report=\u5B50\u5831\u8868
FR-Import-Export_Word=Word\u683C\u5F0F
@ -1560,7 +1560,7 @@ Sub_Report_Description=\u5B50\u5831\u8868\u9700\u8981\u5B58\u5728\u65BC\u7236\u8
T_Insert-Float=\u63D2\u5165\u61F8\u6D6E\u5143\u7D20
BackgroundTexture-FishFossil=\u9B5A\u985E\u5316\u77F3
My_Computer=\u6211\u7684\u96FB\u8166
FORMLET=\u8A2A\u554F\u4E0D\u540C\u8868\u55AE\u7684\u8DEF\u5F91\u7684\u53C3\u6578
FORMLET=\u8A2A\u554F\u4E0D\u540C\u6C7A\u7B56\u5831\u8868\u7684\u8DEF\u5F91\u7684\u53C3\u6578
HF-Undefined=\u6C92\u6709\u5B9A\u7FA9
Widget-User_Defined_Widget_Config=\u9810\u5B9A\u7FA9\u63A7\u5236\u9805
Report-Write_Attributes_Group_Warning=\u8A2D\u5B9A\u7232\u5132\u5B58\u683C\u7D44\u7684\u5404\u6B04\u4F4D\u4E2D\u7684\u5132\u5B58\u683C\u500B\u6578\u5FC5\u9808\u76F8\u540C
@ -1594,7 +1594,7 @@ FS_Report_Type=\u985E\u578B
HF-New_Line=\u63DB\u5217\u7B26
Privilege=\u6B0A\u9650
Export-Offline-Html=\u8F38\u51FA\u96E2\u7DDAhtml\u5831\u8868
FR-Designer_open-new-form-tip=\u7576\u524D\u6A21\u677F\u70BA711\u4EE5\u4E0B\u7248\u672C\u88FD\u4F5C, \u7121\u6CD5\u517C\u5BB9, \u4E0D\u80FD\u6253\u958B. \u5047\u5982\u60F3\u6253\u958B\u4FEE\u6539\u6B64\u8868\u55AE, \u8ACB\u4F7F\u7528\u5C0D\u61C9\u7248\u672C\u8A2D\u8A08\u5668\u6253\u958B.
FR-Designer_open-new-form-tip=\u7576\u524D\u6A21\u677F\u70BA711\u4EE5\u4E0B\u7248\u672C\u88FD\u4F5C, \u7121\u6CD5\u517C\u5BB9, \u4E0D\u80FD\u6253\u958B. \u5047\u5982\u60F3\u6253\u958B\u4FEE\u6539\u6B64\u6C7A\u7B56\u5831\u8868, \u8ACB\u4F7F\u7528\u5C0D\u61C9\u7248\u672C\u8A2D\u8A08\u5668\u6253\u958B.
FR-Designer-Widget-Style_Frame_Style=\u6846\u67B6\u6A23\u5F0F
Present-No_Present=\u53D6\u6D88\u6A21\u5F0F\u8A2D\u5B9A
FR-Designer_Form-Password=\u5BC6\u78BC
@ -1618,7 +1618,7 @@ Above=\u4EE5\u4E0A\u7248\u672C
Utils-The-Chart=\u5716\u8868
FRFont-plain=\u5E38\u898F
Calculating=\u8655\u7406\u4E2D
Form-Object=\u8868\u55AE\u5C0D\u8C61
Form-Object=\u6C7A\u7B56\u5831\u8868\u5C0D\u8C61
May=\u4E94\u6708
FR-Designer_Plugin_Normal_Update=Update
FR-Hyperlink_Reportlet=\u7DB2\u8DEF\u5831\u8868
@ -1753,7 +1753,7 @@ ReportServerP-Last=\u672B\u9801
FR-Base_Columns=\u6B04
SpecifiedG-Leave_in_their_own_groups=\u7559\u5728\u5404\u81EA\u7684\u7D44\u5167
LOG-Please_Wait=\u8ACB\u7A0D\u5019
Form-ToolBar=\u8868\u55AE\u5DE5\u5177\u6B04
Form-ToolBar=\u6C7A\u7B56\u5831\u8868\u5DE5\u5177\u6B04
FR-Base_sure_remove_item=\u4F60\u78BA\u5BE6\u6C7A\u5B9A\u522A\u9664\u9078\u4E2D\u7684\u9805
Component_Scale=\u5143\u4EF6\u7E2E\u653E
Hyperlink-Use_CJK_to_encode_parameter=\u4F7F\u7528CJK\u8655\u7406\u53C3\u6578
@ -1798,7 +1798,7 @@ Only_selected_cell_can_paste_only=\u53EA\u6709\u9078\u4E2D\u5132\u5B58\u683C\u66
M_Report-Report_Columns=\u5831\u8868\u5206\u6B04
Unit_Hundred=\u4F70
FR-Designer_DataTable-Build=\u6975\u901F\u5206\u5C64\u69CB\u5EFA
Widget-Form_Widget_Config=\u8868\u55AE\u63A7\u5236\u9805
Widget-Form_Widget_Config=\u6C7A\u7B56\u5831\u8868\u63A7\u5236\u9805
Server-version-tip-moreInfo=\u5EFA\u8B70\u60A8\u6240\u5C6C\u5718\u968A\u4F7F\u7528\u7684\u6211\u65B9FineReport\u7522\u54C1\u7684\u8A2D\u8A08\u5668\u7248\u672C\u865F\u4EE5\u53CA\u90E8\u7F72\u7684\u4F3A\u670D\u5668\u7248\u672C\u865F\u4FDD\u6301\u4E00\u81F4\uFF0C\u4EE5\u907F\u514D\u7248\u672C\u4E0D\u4E00\u81F4\u9020\u6210\u7684\u554F\u984C\u98A8\u96AA\u3002\u5047\u5982\u60A8\u6253\u958B\u66F4\u9AD8\u8A2D\u8A08\u5668\u7248\u672C\u88FD\u4F5C\u7684\u6A21\u677F\uFF0C\u53EF\u80FD\u6253\u958B\u51FA\u932F\uFF0C\u4E5F\u53EF\u80FD\u4E1F\u5931\u539F\u6709\u6A21\u677F\u5C6C\u6027\u3002\u5047\u5982\u60A8\u88FD\u4F5C\u7684\u6A21\u677F\u4F7F\u7528\u7684\u8A2D\u8A08\u5668\u7248\u672C\u9AD8\u65BC\u60A8\u6700\u7D42\u90E8\u7F72\u6240\u7528\u7684\u4F3A\u670D\u5668\u7248\u672C\uFF0C\u4F3A\u670D\u5668\u53EF\u80FD\u7121\u6CD5\u6B63\u5E38\u8F09\u5165\u60A8\u88FD\u4F5C\u7684\u6A21\u677F
Actions=\u4EFB\u52D9
FR-Designer-Dependence_Connect_Server_Error=\u7121\u6CD5\u9023\u63A5\u670D\u52D9\u5668\uFF0C\u8ACB\u7A0D\u5F8C\u518D\u8A66
@ -1951,7 +1951,7 @@ ReportServerP-Import_JavaScript=\u5F15\u7528JavaScript
Form-TableTree=\u8868\u683C\u6A39
Opened=\u5DF2\u958B\u5553
M_Edit-Delete=\u522A\u9664(D)
Widget-Form_Widget_Container=\u8868\u55AE\u5BB9\u5668
Widget-Form_Widget_Container=\u6C7A\u7B56\u5831\u8868\u5BB9\u5668
BindColumn-Summary=\u532F\u7E3D
Sche-Second=\u79D2
Server-Open_Service_Manager=\u6253\u958B\u4F3A\u670D\u5668\u7BA1\u7406\u5668

14
designer_base/src/com/fr/design/mainframe/toolbar/UpdateActionManager.java

@ -27,12 +27,18 @@ public class UpdateActionManager {
this.updateActions = updateActions;
}
public boolean isEnable(UpdateAction updateAction) {
/**
* 根据action name获取action对象
*
* @param name
* @return
*/
public UpdateAction getActionByName(String name) {
for (UpdateActionModel action : updateActions) {
if (ComparatorUtils.equals(updateAction.getName(), action.getActionName()) && action.getAction().isEnabled()) {
return true;
if (ComparatorUtils.equals(name, action.getActionName()) && action.getAction().isEnabled()) {
return action.getAction();
}
}
return false;
return null;
}
}

20
designer_chart/src/com/fr/design/ChartTypeInterfaceManager.java

@ -81,8 +81,12 @@ import com.fr.plugin.chart.treemap.VanChartTreeMapPlot;
import com.fr.plugin.chart.vanchart.imgevent.design.DesignImageEvent;
import com.fr.plugin.chart.wordcloud.VanChartWordCloudPlot;
import com.fr.plugin.chart.wordcloud.designer.WordCloudIndependentVanChartInterface;
import com.fr.plugin.context.PluginContext;
import com.fr.plugin.injectable.PluginModule;
import com.fr.plugin.injectable.PluginSingleInjection;
import com.fr.plugin.manage.PluginFilter;
import com.fr.plugin.observer.PluginEvent;
import com.fr.plugin.observer.PluginEventListener;
import com.fr.plugin.solution.closeable.CloseableContainedMap;
import com.fr.stable.ArrayUtils;
import com.fr.stable.EnvChangedListener;
@ -125,12 +129,26 @@ public class ChartTypeInterfaceManager implements ExtraChartDesignClassManagerPr
GeneralContext.addEnvChangedListener(new EnvChangedListener() {
@Override
public void envChanged() {
//重新注册designModuleFactory
DesignModuleFactory.registerExtraWidgetOptions(initWidgetOption());
DesignImageEvent.registerDefaultCallbackEvent(HistoryTemplateListPane.getInstance());
DesignImageEvent.registerDownloadSourcesEvent(new DownloadOnlineSourcesHelper());
}
});
GeneralContext.listenPluginRunningChanged(new PluginEventListener(1) {
@Override
public void on(PluginEvent event) {
//重新注册designModuleFactory
DesignModuleFactory.registerExtraWidgetOptions(initWidgetOption());
}
}, new PluginFilter() {
@Override
public boolean accept(PluginContext context) {
//图表插件变化时
return context.contain(PluginModule.ExtraChartType);
}
});
}
private static WidgetOption[] initWidgetOption() {

14
designer_chart/src/com/fr/design/chart/series/SeriesCondition/impl/ChartHyperRelateFloatLinkPane.java

@ -19,6 +19,7 @@ import javax.swing.border.Border;
import javax.swing.border.LineBorder;
import javax.swing.border.TitledBorder;
import java.awt.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@ -92,9 +93,16 @@ public class ChartHyperRelateFloatLinkPane extends AbstractHyperLinkPane<ChartHy
if (itemNameTextField != null) {
itemNameTextField.setText(ob.getItemName());
}
floatNameBox.setSelectedItem(ob.getRelateCCName());
floatNameBox.removeAllItems();
String[] floatNames = getFloatNames();
for (int i = 0, size = floatNames.length; i < size; i++) {
floatNameBox.addItem(floatNames[i]);
}
if (ob.getRelateCCName() == null || !Arrays.asList(floatNames).contains(ob.getRelateCCName())) {
floatNameBox.setSelectedIndex(-1);
} else {
floatNameBox.setSelectedItem(ob.getRelateCCName());
}
List parameterList = this.parameterViewPane.update();
parameterList.clear();

BIN
designer_chart/src/com/fr/plugin/chart/map/images/marker-icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

BIN
designer_chart/src/com/fr/plugin/chart/map/images/marker-iconx2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

BIN
designer_chart/src/com/fr/plugin/chart/map/images/point-map.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
designer_chart/src/com/fr/plugin/chart/map/images/point.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 336 B

5
designer_form/src/com/fr/design/designer/properties/FRAbsoluteBodyLayoutPropertiesGroupModel.java

@ -98,11 +98,6 @@ public class FRAbsoluteBodyLayoutPropertiesGroupModel extends FRAbsoluteLayoutPr
if (row == 0) {
if (state == WBodyLayoutType.FIT.getTypeValue()) {
return switch2FitBodyLayout();
} else {
XWFitLayout xfl = (XWFitLayout) xwAbsoluteLayout.getBackupParent();
if (xfl.toData().removeMargin()) {
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified();
}
}
}
if (row == 1) {

1
designer_form/src/com/fr/design/designer/properties/FRFitLayoutPropertiesGroupModel.java

@ -152,7 +152,6 @@ public class FRFitLayoutPropertiesGroupModel implements GroupModel {
wAbsoluteBodyLayout.setCompState(WAbsoluteLayout.STATE_FIXED);
Component[] components = xfl.getComponents();
xfl.removeAll();
xfl.toData().removeMargin();
XWAbsoluteBodyLayout xwAbsoluteBodyLayout = new XWAbsoluteBodyLayout(wAbsoluteBodyLayout, new Dimension(0, 0));
xfl.getLayoutAdapter().addBean(xwAbsoluteBodyLayout, 0, 0);
for (Component component : components) {

8
designer_form/src/com/fr/design/mainframe/FormParaWidgetPane.java

@ -16,7 +16,11 @@ import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.module.DesignModuleFactory;
import com.fr.design.utils.gui.LayoutUtils;
import com.fr.form.ui.*;
import com.fr.form.ui.UserDefinedWidgetConfig;
import com.fr.form.ui.Widget;
import com.fr.form.ui.WidgetConfig;
import com.fr.form.ui.WidgetManager;
import com.fr.form.ui.WidgetManagerProvider;
import com.fr.general.ComparatorUtils;
import com.fr.general.GeneralContext;
import com.fr.general.Inter;
@ -84,7 +88,7 @@ public class FormParaWidgetPane extends JPanel {
@Override
public boolean accept(PluginContext context) {
return context.contain(PluginModule.ExtraDesign, FormWidgetOptionProvider.XML_TAG);
return context.contain(PluginModule.ExtraDesign, FormWidgetOptionProvider.XML_TAG) || context.contain(PluginModule.ExtraChartType);
}
});
}

27
designer_form/src/com/fr/design/mainframe/FormSelectionUtils.java

@ -12,6 +12,7 @@ import com.fr.design.designer.creator.XWAbsoluteLayout;
import com.fr.design.designer.creator.XWFitLayout;
import com.fr.design.designer.creator.XWScaleLayout;
import com.fr.design.designer.creator.XWTitleLayout;
import com.fr.design.designer.creator.cardlayout.XWTabFitLayout;
import com.fr.design.utils.ComponentUtils;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WTitleLayout;
@ -107,6 +108,7 @@ public class FormSelectionUtils {
designer.showMessageDialog(Inter.getLocText("FR-Designer_Too_Large_To_Paste"));
return;
}
resetTabSub2RealSize(copiedCreator);
boolean addSuccess = adapter.addBean(copiedCreator, point.x, point.y);
if (addSuccess) {
designer.getSelectionModel().getSelection().addSelectedCreator(copiedCreator);
@ -121,6 +123,27 @@ public class FormSelectionUtils {
}
/**
* REPORT-6096 复制得到的是显示的大小如果因屏幕分辨率问题存在缩放的话显示大小和实际大小会有区别粘贴后tab内部调整大小时会再次缩放导致问题
* 因此在粘贴之前将tab内部的组件调整成实际的大小
*
* @param copiedCreator 复制的组件
*/
private static void resetTabSub2RealSize(XCreator copiedCreator) {
ArrayList<?> childrenList = copiedCreator.getTargetChildrenList();
if (!childrenList.isEmpty()) {
for (Object aChildrenList : childrenList) {
XWTabFitLayout tabLayout = (XWTabFitLayout) aChildrenList;
double percent = tabLayout.getContainerPercent();
Component[] components = tabLayout.getComponents();
for (Component component : components) {
Rectangle show = component.getBounds();
component.setBounds(new Rectangle((int) (show.x * percent), (int) (show.y * percent), (int) (show.width * percent), (int) (show.height * percent)));
}
}
}
}
/**
* 相对布局粘贴
*/
@ -178,9 +201,9 @@ public class FormSelectionUtils {
*/
private static Point getPasteLocation(AbstractLayoutAdapter layoutAdapter, XCreator copiedCreator, int x, int y) {
//当宽度为奇数时 设置偏移
int xoffset = (copiedCreator.getWidth() & 1) == 1 ? 1 : 0;
int xoffset = copiedCreator.getWidth() & 1;
//当高度为奇数时 设置偏移
int yoffset = (copiedCreator.getHeight() & 1) == 1 ? 1 : 0;
int yoffset = copiedCreator.getHeight() & 1;
if (!layoutAdapter.accept(copiedCreator, x, y)) {
XLayoutContainer container = layoutAdapter.getContainer();

3
designer_form/src/com/fr/design/mainframe/MobileWidgetTable.java

@ -258,8 +258,6 @@ public class MobileWidgetTable extends JTable {
return new String[0][0];
}
body.setSorted(false);
if (body.getWidgetCount() > 0 && body.getWidget(0).acceptType(WAbsoluteBodyLayout.class)) {
WAbsoluteBodyLayout absoluteBodyLayout = (WAbsoluteBodyLayout) ((WAbsoluteLayout.BoundsWidget) body.getWidget(0)).getWidget();
mobileWidgetList = absoluteBodyLayout.getOrderedMobileWidgetList();
@ -272,7 +270,6 @@ public class MobileWidgetTable extends JTable {
widgetName[i + 1][0] = mobileWidgetList.get(i);
}
body.setSorted(true);
return widgetName;
}

1
designer_form/src/com/fr/design/widget/ui/designer/layout/FRAbsoluteBodyLayoutDefinePane.java

@ -100,6 +100,7 @@ public class FRAbsoluteBodyLayoutDefinePane extends FRAbsoluteLayoutDefinePane {
}
if (layoutType == WBodyLayoutType.ABSOLUTE) {
((XWFitLayout)creator.getBackupParent()).toData().resetStyle();
if (state == WBodyLayoutType.FIT.getTypeValue()) {
switch2FitBodyLayout();
}

1
designer_form/src/com/fr/design/widget/ui/designer/layout/FRFitLayoutDefinePane.java

@ -161,6 +161,7 @@ public class FRFitLayoutDefinePane extends AbstractDataModify<WFitLayout> {
wAbsoluteBodyLayout.setCompState(WAbsoluteLayout.STATE_FIXED);
Component[] components = xWFitLayout.getComponents();
xWFitLayout.removeAll();
layout.resetStyle();
XWAbsoluteBodyLayout xwAbsoluteBodyLayout = new XWAbsoluteBodyLayout(wAbsoluteBodyLayout, new Dimension(0, 0));
xWFitLayout.getLayoutAdapter().addBean(xwAbsoluteBodyLayout, 0, 0);
for (Component component : components) {

Loading…
Cancel
Save