Browse Source

Merge branch 'release/9.0' of http://www.finedevelop.com:2015/scm/~kerry/design into release/9.0

master
kerry 7 years ago
parent
commit
b4817baf3a
  1. 195
      designer/src/com/fr/start/Designer.java
  2. 27
      designer_base/src/com/fr/design/gui/itoolbar/UIToolBarUI.java
  3. 2
      designer_base/src/com/fr/design/icon/IconPathConstants.java
  4. BIN
      designer_base/src/com/fr/design/images/control/edit.png
  5. BIN
      designer_base/src/com/fr/design/images/control/tab/remove.png
  6. 2
      designer_base/src/com/fr/design/locale/designer.properties
  7. 2
      designer_base/src/com/fr/design/locale/designer_en_US.properties
  8. 2
      designer_base/src/com/fr/design/locale/designer_ja_JP.properties
  9. 2
      designer_base/src/com/fr/design/locale/designer_ko_KR.properties
  10. 2
      designer_base/src/com/fr/design/locale/designer_zh_CN.properties
  11. 2
      designer_base/src/com/fr/design/locale/designer_zh_TW.properties
  12. 10
      designer_form/src/com/fr/design/designer/beans/models/StateModel.java

195
designer/src/com/fr/start/Designer.java

@ -51,17 +51,17 @@ public class Designer extends BaseDesigner {
private static final int TOOLBARPANEVGAP = -4; private static final int TOOLBARPANEVGAP = -4;
private static final int PREVIEW_DOWN_X_GAP = 92; private static final int PREVIEW_DOWN_X_GAP = 92;
private static final int GAP = 7; private static final int GAP = 7;
private static final String OLD_ENV_FOLDER_71 = ".FineReport71"; private static final String OLD_ENV_FOLDER_71 = ".FineReport71";
private static final String OLD_ENV_FOLDER_70 = ".FineReport70"; private static final String OLD_ENV_FOLDER_70 = ".FineReport70";
private UserInfoPane userInfoPane; private UserInfoPane userInfoPane;
private UIButton saveButton; private UIButton saveButton;
private UIButton undo; private UIButton undo;
private UIButton redo; private UIButton redo;
private UIPreviewButton run; private UIPreviewButton run;
/** /**
* 设计器启动的Main方法 * 设计器启动的Main方法
@ -135,30 +135,31 @@ public class Designer extends BaseDesigner {
public UILargeToolbar createLargeToolbar() { public UILargeToolbar createLargeToolbar() {
UILargeToolbar largeToolbar = super.createLargeToolbar(); UILargeToolbar largeToolbar = super.createLargeToolbar();
largeToolbar.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 4)); largeToolbar.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 4));
largeToolbar.add(new JPanel() { largeToolbar.add(generateEmptyGap(1));
public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize();
dim.width = 1;
return dim;
}
});
createRunButton(largeToolbar); createRunButton(largeToolbar);
largeToolbar.add(run); largeToolbar.add(run);
run.setBackground(UIConstants.TREE_BACKGROUND); run.setBackground(Color.WHITE);
largeToolbar.add(new JPanel() { largeToolbar.add(generateEmptyGap(GAP));
largeToolbar.addSeparator(new Dimension(2, 42));
largeToolbar.setBorder(new MatteBorder(new Insets(0, 0, 1, 0), UIConstants.LINE_COLOR));
return largeToolbar;
}
private JPanel generateEmptyGap(final int width) {
JPanel panel = new JPanel() {
public Dimension getPreferredSize() { public Dimension getPreferredSize() {
Dimension dim = super.getPreferredSize(); Dimension dim = super.getPreferredSize();
dim.width = GAP; dim.width = width;
return dim; return dim;
} }
}); };
largeToolbar.addSeparator(new Dimension(2, 42)); panel.setBackground(Color.WHITE);
largeToolbar.setBorder(new MatteBorder(new Insets(0, 0, 1, 0), UIConstants.LINE_COLOR)); return panel;
return largeToolbar;
} }
/** /**
* 创建上面一排的工具栏按钮 * 创建上面一排的工具栏按钮
*
* @return 按钮 * @return 按钮
*/ */
public UIButton[] createUp() { public UIButton[] createUp() {
@ -181,7 +182,7 @@ public class Designer extends BaseDesigner {
}); });
return saveButton; return saveButton;
} }
private UIButton createUndoButton() { private UIButton createUndoButton() {
undo = new UIButton(BaseUtils.readIcon("/com/fr/design/images/buttonicon/undo.png")); undo = new UIButton(BaseUtils.readIcon("/com/fr/design/images/buttonicon/undo.png"));
undo.setToolTipText(KeySetUtils.UNDO.getMenuKeySetName()); undo.setToolTipText(KeySetUtils.UNDO.getMenuKeySetName());
@ -290,9 +291,10 @@ public class Designer extends BaseDesigner {
/** /**
* 生成工具栏 * 生成工具栏
*
* @param toolbarComponent 工具栏 * @param toolbarComponent 工具栏
* @param plus 对象 * @param plus 对象
* @return 更新后的toolbar * @return 更新后的toolbar
*/ */
public JComponent resetToolBar(JComponent toolbarComponent, ToolBarMenuDockPlus plus) { public JComponent resetToolBar(JComponent toolbarComponent, ToolBarMenuDockPlus plus) {
//如果是处于权限编辑状态 //如果是处于权限编辑状态
@ -331,16 +333,15 @@ public class Designer extends BaseDesigner {
public JTemplate<?, ?> createNewTemplate() { public JTemplate<?, ?> createNewTemplate() {
return new JWorkBook(); return new JWorkBook();
} }
/** /**
* 创建论坛登录面板, chart那边不需要 * 创建论坛登录面板, chart那边不需要
* *
* @return 面板组件 * @return 面板组件
* */
*/ public Component createBBSLoginPane() {
public Component createBBSLoginPane(){ if (userInfoPane == null) {
if (userInfoPane == null){ userInfoPane = new UserInfoPane();
userInfoPane = new UserInfoPane();
} }
return userInfoPane; return userInfoPane;
} }
@ -358,68 +359,67 @@ public class Designer extends BaseDesigner {
protected SplashPane createSplashPane() { protected SplashPane createSplashPane() {
return new ReportSplashPane(); return new ReportSplashPane();
} }
/** /**
* 收集用户信息吗 * 收集用户信息吗
* */
*/
protected void collectUserInformation() { protected void collectUserInformation() {
//定制的就不弹出来了 //定制的就不弹出来了
if (!ComparatorUtils.equals(ProductConstants.APP_NAME, ProductConstants.DEFAULT_APP_NAME)) { if (!ComparatorUtils.equals(ProductConstants.APP_NAME, ProductConstants.DEFAULT_APP_NAME)) {
return; return;
} }
DesignerEnvManager envManager = DesignerEnvManager.getEnvManager(); DesignerEnvManager envManager = DesignerEnvManager.getEnvManager();
final String key = envManager.getActivationKey(); final String key = envManager.getActivationKey();
//本地验证通过 //本地验证通过
if(ActiveKeyGenerator.localVerify(key)){ if (ActiveKeyGenerator.localVerify(key)) {
onLineVerify(envManager, key); onLineVerify(envManager, key);
UserInfoLabel.showBBSDialog(); UserInfoLabel.showBBSDialog();
return; return;
} }
if(StableUtils.checkDesignerActive(readOldKey())){ if (StableUtils.checkDesignerActive(readOldKey())) {
//只要有老的key, 就不弹窗, 下次启动的时候, 在线验证下就行. //只要有老的key, 就不弹窗, 下次启动的时候, 在线验证下就行.
String newKey = ActiveKeyGenerator.generateActiveKey(); String newKey = ActiveKeyGenerator.generateActiveKey();
envManager.setActivationKey(newKey); envManager.setActivationKey(newKey);
UserInfoLabel.showBBSDialog(); UserInfoLabel.showBBSDialog();
return; return;
} }
CollectUserInformationDialog activeDialog = new CollectUserInformationDialog( CollectUserInformationDialog activeDialog = new CollectUserInformationDialog(
DesignerContext.getDesignerFrame()); DesignerContext.getDesignerFrame());
activeDialog.setVisible(true); activeDialog.setVisible(true);
} }
private void onLineVerify(DesignerEnvManager envManager, final String key){ private void onLineVerify(DesignerEnvManager envManager, final String key) {
int status = envManager.getActiveKeyStatus(); int status = envManager.getActiveKeyStatus();
//没有联网验证过 //没有联网验证过
if (status != 0) { if (status != 0) {
Thread authThread = new Thread(new Runnable() { Thread authThread = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
ActiveKeyGenerator.onLineVerify(key); ActiveKeyGenerator.onLineVerify(key);
} }
}); });
authThread.start(); authThread.start();
} }
} }
private File getOldEnvFile(String folderName){ private File getOldEnvFile(String folderName) {
String userHome = System.getProperty("user.home"); String userHome = System.getProperty("user.home");
if (userHome == null) { if (userHome == null) {
userHome = System.getProperty("userHome"); userHome = System.getProperty("userHome");
} }
String filePath = StableUtils.pathJoin(userHome, folderName, ProductConstants.APP_NAME + "Env.xml"); String filePath = StableUtils.pathJoin(userHome, folderName, ProductConstants.APP_NAME + "Env.xml");
return new File(filePath); return new File(filePath);
} }
private String getOldActiveKeyFromFile(File envFile){ private String getOldActiveKeyFromFile(File envFile) {
if (!envFile.exists()) { if (!envFile.exists()) {
return StringUtils.EMPTY; return StringUtils.EMPTY;
} }
DesignerEnvManager temp = new DesignerEnvManager(); DesignerEnvManager temp = new DesignerEnvManager();
try { try {
XMLTools.readFileXML(temp, envFile); XMLTools.readFileXML(temp, envFile);
@ -428,26 +428,25 @@ public class Designer extends BaseDesigner {
} }
return temp.getActivationKey(); return temp.getActivationKey();
} }
//默认只从7.0和711的设计器里读取key //默认只从7.0和711的设计器里读取key
private String readOldKey(){ private String readOldKey() {
File file71 = getOldEnvFile(OLD_ENV_FOLDER_71); File file71 = getOldEnvFile(OLD_ENV_FOLDER_71);
if (!file71.exists()) { if (!file71.exists()) {
File file70 = getOldEnvFile(OLD_ENV_FOLDER_70); File file70 = getOldEnvFile(OLD_ENV_FOLDER_70);
return getOldActiveKeyFromFile(file70); return getOldActiveKeyFromFile(file70);
} }
return getOldActiveKeyFromFile(file71); return getOldActiveKeyFromFile(file71);
} }
/** /**
* 设计器退出时, 做的一些操作. * 设计器退出时, 做的一些操作.
* */
*/ public void shutDown() {
public void shutDown(){ InformationCollector collector = InformationCollector.getInstance();
InformationCollector collector = InformationCollector.getInstance(); collector.collectStopTime();
collector.collectStopTime(); collector.saveXMLFile();
collector.saveXMLFile();
ServletContext.fireServletStopListener(); ServletContext.fireServletStopListener();
} }

27
designer_base/src/com/fr/design/gui/itoolbar/UIToolBarUI.java

@ -1,31 +1,16 @@
package com.fr.design.gui.itoolbar; package com.fr.design.gui.itoolbar;
import java.awt.Component; import com.fr.design.gui.ibutton.UIToolButtonBorder;
import java.awt.Dialog; import com.fr.design.gui.icheckbox.UICheckBox;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Window;
import java.awt.event.WindowListener;
import javax.swing.AbstractButton; import javax.swing.*;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JRadioButton;
import javax.swing.JToolBar;
import javax.swing.RootPaneContainer;
import javax.swing.SwingUtilities;
import javax.swing.border.Border; import javax.swing.border.Border;
import javax.swing.plaf.ComponentUI; import javax.swing.plaf.ComponentUI;
import javax.swing.plaf.UIResource; import javax.swing.plaf.UIResource;
import javax.swing.plaf.metal.MetalToolBarUI; import javax.swing.plaf.metal.MetalToolBarUI;
import java.awt.*;
import com.fr.design.constants.UIConstants; import java.awt.event.WindowListener;
import com.fr.design.gui.ibutton.UIToolButtonBorder;
import com.fr.design.gui.icheckbox.UICheckBox;
import static com.fr.design.utils.ThemeUtils.BACK_COLOR;
public class UIToolBarUI extends MetalToolBarUI { public class UIToolBarUI extends MetalToolBarUI {
public static final String IS_TOOL_BAR_BUTTON_KEY = "JToolBar.isToolbarButton"; public static final String IS_TOOL_BAR_BUTTON_KEY = "JToolBar.isToolbarButton";
@ -91,7 +76,7 @@ public class UIToolBarUI extends MetalToolBarUI {
*/ */
public void paint(Graphics g, JComponent c) { public void paint(Graphics g, JComponent c) {
Graphics2D g2 = (Graphics2D) g; Graphics2D g2 = (Graphics2D) g;
g2.setColor(BACK_COLOR); g2.setColor(Color.WHITE);
g2.fillRect(0, 0, c.getWidth(), c.getHeight()); g2.fillRect(0, 0, c.getWidth(), c.getHeight());
} }

2
designer_base/src/com/fr/design/icon/IconPathConstants.java

@ -1 +1 @@
package com.fr.design.icon; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 6.5.6 * Date: 12-12-18 * Time: 上午9:42 * 用于保存所有图标路径的类 */ public class IconPathConstants { private IconPathConstants() { } public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; public static final String DS_ICON_PATH = "/com/fr/design/images/data/datasource.png"; public static final String CLASS_TD_ICON_PATH = "/com/fr/design/images/data/source/classTableData.png"; public static final String EMB_TD_ICON_PATH = "/com/fr/design/images/data/dataTable.png"; public static final String DS_RELATION_TD_ICON_PATH = "/com/fr/design/images/data/multi.png"; public static final String FILE_TD_ICON_PATH = "/com/fr/design/images/data/file.png"; private IconPathConstants() { private IconPathConstants() { private IconPathConstants() { private IconPathConstants() { private IconPathConstants() { } private IconPathConstants() { public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; private IconPathConstants() { public static final String DS_ICON_PATH = "/com/fr/design/images/data/datasource.png"; private IconPathConstants() { public static final String CLASS_TD_ICON_PATH = "/com/fr/design/images/data/source/classTableData.png"; private IconPathConstants() { public static final String EMB_TD_ICON_PATH = "/com/fr/design/images/data/dataTable.png"; private IconPathConstants() { public static final String DS_RELATION_TD_ICON_PATH = "/com/fr/design/images/data/multi.png"; private IconPathConstants() { public static final String FILE_TD_ICON_PATH = "/com/fr/design/images/data/file.png"; private IconPathConstants() { "/com/fr/web/images/form/forbid.png"; } package com.fr.design.icon; /** * Created by IntelliJ IDEA. * Author : Richer * Version: 6.5.6 * Date: 12-12-18 * Time: 上午9:42 * 用于保存所有图标路径的类 */ public class IconPathConstants { } public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; } public static final String DS_ICON_PATH = "/com/fr/design/images/data/datasource.png"; public static final String CLASS_TD_ICON_PATH = "/com/fr/design/images/data/source/classTableData.png"; public static final String EMB_TD_ICON_PATH = "/com/fr/design/images/data/dataTable.png"; public static final String DS_RELATION_TD_ICON_PATH = "/com/fr/design/images/data/multi.png"; public static final String FILE_TD_ICON_PATH = "/com/fr/design/images/data/file.png"; } } private IconPathConstants() { } } } } public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; } public static final String DS_ICON_PATH = "/com/fr/design/images/data/datasource.png"; } public static final String CLASS_TD_ICON_PATH = "/com/fr/design/images/data/source/classTableData.png"; } public static final String EMB_TD_ICON_PATH = "/com/fr/design/images/data/dataTable.png"; } public static final String DS_RELATION_TD_ICON_PATH = "/com/fr/design/images/data/multi.png"; } public static final String FILE_TD_ICON_PATH = "/com/fr/design/images/data/file.png"; public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; public static final String XMLA_ICON_PATH = "/com/fr/design/images/data/cube.png"; public static final String ADD_POPMENU_ICON_PATH = "/com/fr/design/images/control/addPopup.png"; "/com/fr/web/images/form/forbid.png"; }

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 399 B

After

Width:  |  Height:  |  Size: 352 B

BIN
designer_base/src/com/fr/design/images/control/tab/remove.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 B

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

@ -548,7 +548,7 @@ FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script
FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Horizontal=Horizontal
FR-Designer_PageSetup_Vertical=Vertical FR-Designer_PageSetup_Vertical=Vertical
FR-Designer_Gradient_Direction=Gradient Direction FR-Designer_Gradient_Direction=Gradient Direction
FR-Designer_Drag_To_Select_Gradient=\\ Drag the button below to choose gradient area, click it to choose color FR-Designer_Drag_To_Select_Gradient=Drag the button below to choose gradient area, click it to choose color
FR-Designer_Display_Value=Display Value FR-Designer_Display_Value=Display Value
FR-Designer_Actual_Value=Actual Value FR-Designer_Actual_Value=Actual Value
FR-Designer_CellWrite_ToolTip=Tool Tip of Cell FR-Designer_CellWrite_ToolTip=Tool Tip of Cell

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

@ -550,7 +550,7 @@ FR-Designer_Function_Description_Area_Text=The class must inherit 'com.fr.script
FR-Designer_PageSetup_Horizontal=Horizontal FR-Designer_PageSetup_Horizontal=Horizontal
FR-Designer_PageSetup_Vertical=Vertical FR-Designer_PageSetup_Vertical=Vertical
FR-Designer_Gradient_Direction=Gradient Direction FR-Designer_Gradient_Direction=Gradient Direction
FR-Designer_Drag_To_Select_Gradient=\\ Drag the button below to choose gradient area, click it to choose color FR-Designer_Drag_To_Select_Gradient=Drag the button below to choose gradient area, click it to choose color
FR-Designer_Display_Value=Display Value FR-Designer_Display_Value=Display Value
FR-Designer_Actual_Value=Actual Value FR-Designer_Actual_Value=Actual Value
FR-Designer_CellWrite_ToolTip=Tool Tip of Cell FR-Designer_CellWrite_ToolTip=Tool Tip of Cell

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

@ -526,7 +526,7 @@ FR-Designer_Function_Description_Area_Text=\u3053\u306E\u30AF\u30E9\u30B9\u306F\
FR-Designer_PageSetup_Horizontal=\u6A2A\u65B9\u5411 FR-Designer_PageSetup_Horizontal=\u6A2A\u65B9\u5411
FR-Designer_PageSetup_Vertical=\u7E26\u65B9\u5411 FR-Designer_PageSetup_Vertical=\u7E26\u65B9\u5411
FR-Designer_Gradient_Direction=\u65B9\u5411\u3092\u5F90\u3005\u306B\u5909\u5316 FR-Designer_Gradient_Direction=\u65B9\u5411\u3092\u5F90\u3005\u306B\u5909\u5316
FR-Designer_Drag_To_Select_Gradient=\\ \u4E0B\u65B9\u306E\u30DC\u30BF\u30F3\u3092\u30D7\u30EB\u30C0\u30A6\u30F3\u3057\u3066\u6F38\u6B21\u5909\u5316\u30A8\u30EA\u30A2\u3092\u9078\u629E\u3057\u3001\u30AF\u30EA\u30C3\u30AF\u3057 FR-Designer_Drag_To_Select_Gradient=\u4E0B\u65B9\u306E\u30DC\u30BF\u30F3\u3092\u30D7\u30EB\u30C0\u30A6\u30F3\u3057\u3066\u6F38\u6B21\u5909\u5316\u30A8\u30EA\u30A2\u3092\u9078\u629E\u3057\u3001\u30AF\u30EA\u30C3\u30AF\u3057
FR-Designer_Display_Value=\u8868\u793A\u5024 FR-Designer_Display_Value=\u8868\u793A\u5024
FR-Designer_Actual_Value=\u5B9F\u969B\u5024 FR-Designer_Actual_Value=\u5B9F\u969B\u5024
FR-Designer_CellWrite_ToolTip=\u30BB\u30EB\u30D2\u30F3\u30C8 FR-Designer_CellWrite_ToolTip=\u30BB\u30EB\u30D2\u30F3\u30C8

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

@ -522,7 +522,7 @@ FR-Designer_Function_Description_Area_Text=\uD574\uB2F9\uD074\uB798\uC2A4\uB294\
FR-Designer_PageSetup_Horizontal=\uAC00\uB85C FR-Designer_PageSetup_Horizontal=\uAC00\uB85C
FR-Designer_PageSetup_Vertical=\uC138\uB85C FR-Designer_PageSetup_Vertical=\uC138\uB85C
FR-Designer_Gradient_Direction=\uADF8\uB77C\uB370\uC774\uC158 \uBC29\uD5A5 FR-Designer_Gradient_Direction=\uADF8\uB77C\uB370\uC774\uC158 \uBC29\uD5A5
FR-Designer_Drag_To_Select_Gradient=\\\uD558\uB2E8\uD0A4\uB97C\uB4DC\uB798\uADF8\uD558\uC5EC\uADF8\uB77C\uB370\uC774\uC158\uC601\uC5ED\uC744\uC120\uD0DD\uD558\uACE0\uD0A4\uB97C\uD074\uB9AD\uD558\uC5EC\uD574\uB2F9\uC0C9\uC120\uD0DD FR-Designer_Drag_To_Select_Gradient=\uD558\uB2E8\uD0A4\uB97C\uB4DC\uB798\uADF8\uD558\uC5EC\uADF8\uB77C\uB370\uC774\uC158\uC601\uC5ED\uC744\uC120\uD0DD\uD558\uACE0\uD0A4\uB97C\uD074\uB9AD\uD558\uC5EC\uD574\uB2F9\uC0C9\uC120\uD0DD
FR-Designer_Display_Value=\uAC12\uBCF4\uC774\uAE30 FR-Designer_Display_Value=\uAC12\uBCF4\uC774\uAE30
FR-Designer_Actual_Value=\uC2E4\uC81C\uAC12 FR-Designer_Actual_Value=\uC2E4\uC81C\uAC12
FR-Designer_CellWrite_ToolTip=\uB0B4\uC6A9\uC54C\uB9BC FR-Designer_CellWrite_ToolTip=\uB0B4\uC6A9\uC54C\uB9BC

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

@ -556,7 +556,7 @@ FR-Designer_Function_Description_Area_Text=\u8BE5\u7C7B\u5FC5\u987B\u7EE7\u627F"
FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Horizontal=\u6A2A\u5411
FR-Designer_PageSetup_Vertical=\u7EB5\u5411 FR-Designer_PageSetup_Vertical=\u7EB5\u5411
FR-Designer_Gradient_Direction=\u6E10\u53D8\u65B9\u5411 FR-Designer_Gradient_Direction=\u6E10\u53D8\u65B9\u5411
FR-Designer_Drag_To_Select_Gradient=\\ \u62D6\u52A8\u4E0B\u65B9\u6309\u94AE\u9009\u62E9\u6E10\u53D8\u533A\u57DF\uFF0C\u5355\u51FB\u6309\u94AE\u9009\u62E9\u5BF9\u5E94\u989C\u8272 FR-Designer_Drag_To_Select_Gradient=\u62D6\u52A8\u4E0B\u65B9\u6309\u94AE\u9009\u62E9\u6E10\u53D8\u533A\u57DF\uFF0C\u5355\u51FB\u6309\u94AE\u9009\u62E9\u5BF9\u5E94\u989C\u8272
FR-Designer_Display_Value=\u663E\u793A\u503C FR-Designer_Display_Value=\u663E\u793A\u503C
FR-Designer_Actual_Value=\u5B9E\u9645\u503C FR-Designer_Actual_Value=\u5B9E\u9645\u503C
FR-Designer_CellWrite_ToolTip=\u5185\u5BB9\u63D0\u793A FR-Designer_CellWrite_ToolTip=\u5185\u5BB9\u63D0\u793A

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

@ -543,7 +543,7 @@ FR-Designer_Function_Description_Area_Text=\u8A72\u985E\u5FC5\u9808\u7E7C\u627F"
FR-Designer_PageSetup_Horizontal=\u6A2A\u5411 FR-Designer_PageSetup_Horizontal=\u6A2A\u5411
FR-Designer_PageSetup_Vertical=\u7E31\u5411 FR-Designer_PageSetup_Vertical=\u7E31\u5411
FR-Designer_Gradient_Direction=\u6F38\u8B8A\u65B9\u5411 FR-Designer_Gradient_Direction=\u6F38\u8B8A\u65B9\u5411
FR-Designer_Drag_To_Select_Gradient=\\ \u62D6\u52D5\u4E0B\u767C\u90A3\u500B\u6309\u9215\u61F8\u8457\u5340\u57DF\uFF0C\u55AE\u64CA\u6309\u9215\u9078\u64C7\u984F\u8272 FR-Designer_Drag_To_Select_Gradient=\u62D6\u52D5\u4E0B\u767C\u90A3\u500B\u6309\u9215\u61F8\u8457\u5340\u57DF\uFF0C\u55AE\u64CA\u6309\u9215\u9078\u64C7\u984F\u8272
FR-Designer_Display_Value=\u986F\u793A\u503C FR-Designer_Display_Value=\u986F\u793A\u503C
FR-Designer_Actual_Value=\u5BE6\u969B\u503C FR-Designer_Actual_Value=\u5BE6\u969B\u503C
FR-Designer_CellWrite_ToolTip=\u5167\u5BB9\u63D0\u793A FR-Designer_CellWrite_ToolTip=\u5167\u5BB9\u63D0\u793A

10
designer_form/src/com/fr/design/designer/beans/models/StateModel.java

@ -265,7 +265,15 @@ public class StateModel {
Rectangle bounds = createCurrentBounds(x, y); Rectangle bounds = createCurrentBounds(x, y);
if ((x != currentX) || (y != currentY)) { if ((x != currentX) || (y != currentY)) {
selectionModel.setSelectedCreators(getHotspotCreators(bounds, designer.getRootComponent())); ArrayList<XCreator> creators = getHotspotCreators(bounds, designer.getRootComponent());
if (creators.isEmpty() && designer.getRootComponent().getXCreatorCount() > 0) {
//当初始化布局是绝对布局的时候特殊处理,画框的时候若没有控件,默认焦点设置在绝对布局上
XCreator layout = designer.getRootComponent().getXCreator(0);
if (layout.acceptType(XWAbsoluteBodyLayout.class)) {
creators.add(layout);
}
}
selectionModel.setSelectedCreators(creators);
} }
selectionModel.setHotspotBounds(null); selectionModel.setHotspotBounds(null);
} }

Loading…
Cancel
Save