Browse Source

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

master
mengao 7 years ago
parent
commit
b7867fd185
  1. 40
      designer/src/com/fr/design/mainframe/CellWidgetPropertyPane.java
  2. 84
      designer/src/com/fr/design/mainframe/bbs/BBSConstants.java
  3. 24
      designer/src/com/fr/design/mainframe/bbs/BBSGuestPane.java
  4. 12
      designer/src/com/fr/design/mainframe/bbs/bbs.properties
  5. 2
      designer/src/com/fr/design/mainframe/errorinfo/ErrorInfoUploader.java
  6. 11
      designer/src/com/fr/design/widget/WidgetPane.java
  7. 95
      designer/src/com/fr/start/ReportSplashPane.java
  8. 2
      designer_base/src/com/fr/design/DesignerEnvManager.java
  9. 2
      designer_base/src/com/fr/design/actions/file/OpenTemplateAction.java
  10. 42
      designer_base/src/com/fr/design/actions/help/AboutPane.java
  11. 5
      designer_base/src/com/fr/design/constants/UIConstants.java
  12. 5
      designer_base/src/com/fr/design/editor/editor/ColumnSelectedEditor.java
  13. 2
      designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java
  14. 2
      designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java
  15. 18
      designer_base/src/com/fr/design/gui/ibutton/UIButtonUI.java
  16. 2
      designer_base/src/com/fr/design/gui/icombobox/FunctionComboBox.java
  17. 4
      designer_base/src/com/fr/design/gui/icombobox/UIComboBoxUI.java
  18. 2
      designer_base/src/com/fr/design/gui/icontainer/UIScrollPaneUI.java
  19. BIN
      designer_base/src/com/fr/design/images/control/down.png
  20. 2
      designer_base/src/com/fr/design/locale/designer_zh_CN.properties
  21. 2
      designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
  22. 66
      designer_base/src/com/fr/design/mainframe/EastRegionContainerPane.java
  23. 20
      designer_base/src/com/fr/design/roleAuthority/ReportAndFSManagePane.java
  24. 19
      designer_base/src/com/fr/design/utils/gui/GUIPaintUtils.java
  25. 3
      designer_base/src/com/fr/start/BaseDesigner.java
  26. 2
      designer_chart/src/com/fr/design/mainframe/chart/gui/ChangeConfigPane.java
  27. 4
      designer_form/src/com/fr/design/parameter/RootDesignDefinePane.java

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

@ -102,31 +102,41 @@ public class CellWidgetPropertyPane extends BasicPane {
}
public void update() {
if (cellElement == null) {// 利用默认的CellElement.
if (cellElement == null || !cellEditorDefPane.isShouldFireSelectedEvent()) {
return;
}
final CellSelection finalCS = (CellSelection) ePane.getSelection();
final TemplateElementCase tplEC = ePane.getEditingElementCase();
ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() {
public void dealWith(CellElement editCellElement) {
Widget cellWidget = cellEditorDefPane.update();
// p:最后把这个cellEditorDef设置到CellGUIAttr.
TemplateCellElement cellElement = (TemplateCellElement) editCellElement;
if (cellWidget instanceof NoneWidget) {
cellElement.setWidget(null);
} else {
if (cellElement.getWidget() != null) {
cellWidget = upDateWidgetAuthority(cellElement, cellWidget);
}
cellElement.setWidget(cellWidget);
}
if(finalCS.isSelectedOneCell(ePane)){
if(tplEC.getTemplateCellElement(cellElement.getColumn(), cellElement.getRow())== null){//cellElement未加入到report中时要添加进去
tplEC.addCellElement(cellElement);
}
});
setCellWidget(cellElement);
}else{
ReportActionUtils.actionIterateWithCellSelection(finalCS, tplEC, new ReportActionUtils.IterAction() {
public void dealWith(CellElement editCellElement) {
// p:最后把这个cellEditorDef设置到CellGUIAttr.
TemplateCellElement templateCellElement = (TemplateCellElement) editCellElement;
setCellWidget(templateCellElement);
}
});
}
if(DesignerContext.getDesignerFrame().getSelectedJTemplate() != null){
DesignerContext.getDesignerFrame().getSelectedJTemplate().fireTargetModified();
}
}
private void setCellWidget(TemplateCellElement cellElement){
Widget cellWidget = cellEditorDefPane.update();
if (cellWidget instanceof NoneWidget) {
cellElement.setWidget(null);
} else {
if (cellElement.getWidget() != null) {
cellWidget = upDateWidgetAuthority(cellElement, cellWidget);
}
cellElement.setWidget(cellWidget);
}
}
public void reInitAllListener(){
cellEditorDefPane.registerListener();

84
designer/src/com/fr/design/mainframe/bbs/BBSConstants.java

@ -4,13 +4,13 @@
package com.fr.design.mainframe.bbs;
import com.fr.general.IOUtils;
import com.fr.general.SiteCenter;
import com.fr.stable.StringUtils;
import java.util.Properties;
/**
* @author neil
*
* @date: 2015-3-10-上午9:50:13
*/
public class BBSConstants {
@ -19,41 +19,51 @@ public class BBSConstants {
public static final String UPDATE_KEY = loadAttribute("UPDATE_KEY", "newIsPopup");
private static final String GUEST_KEY = "USER";
private static final String LINK_KEY = "LINK";
private static final int GUEST_NUM = 5;
//用户名信息数组
public static final String[] ALL_GUEST = loadAllGuestsInfo(GUEST_KEY);
//用户论坛链接信息
public static final String[] ALL_LINK = loadAllGuestsInfo(LINK_KEY);
private static Properties PROP = null;
//加载所有用户的信息, 用户名, 论坛连接
private static String[] loadAllGuestsInfo(String key){
String[] allGuests = new String[GUEST_NUM];
for (int i = 0; i < GUEST_NUM; i++) {
allGuests[i] = loadAttribute(key + i, StringUtils.EMPTY);
}
return allGuests;
}
//如果要定制, 直接改bbs.properties就行了
private static String loadAttribute(String key, String defaultValue) {
if (PROP == null) {
PROP = new Properties();
try {
PROP.load(IOUtils.getResourceAsStream("/com/fr/design/mainframe/bbs/bbs.properties", BBSConstants.class));
} catch (Exception e) {
}
}
String p = PROP.getProperty(key);
if (StringUtils.isEmpty(p)) {
p = defaultValue;
}
return p;
}
private static final String GUEST_KEY = "USER";
private static final String GUEST_KEY_ONLINE = "guest.user";
private static final String LINK_KEY = "LINK";
private static final String LINK_KEY_ONLINE = "guest.link";
private static Properties PROP = null;
public static String[] getAllGuest() {
return loadAllGuestsInfoOnline(GUEST_KEY_ONLINE, loadAllGuestsInfo(GUEST_KEY));
}
public static String[] getAllLink() {
return loadAllGuestsInfoOnline(LINK_KEY_ONLINE, loadAllGuestsInfo(LINK_KEY));
}
//加载所有用户的信息, 用户名, 论坛连接
private static String loadAllGuestsInfo(String key) {
return loadAttribute(key, StringUtils.EMPTY);
}
//加载所有用户的信息, 用户名, 论坛连接
private static String[] loadAllGuestsInfoOnline(String key, String defaultValue) {
String[] allGuests = new String[0];
String guest = SiteCenter.getInstance().acquireUrlByKind(key, defaultValue);
if (StringUtils.isNotEmpty(guest)) {
allGuests = guest.split("\\|");
}
return allGuests;
}
//如果要定制, 直接改bbs.properties就行了
private static String loadAttribute(String key, String defaultValue) {
if (PROP == null) {
PROP = new Properties();
try {
PROP.load(IOUtils.getResourceAsStream("/com/fr/design/mainframe/bbs/bbs.properties", BBSConstants.class));
} catch (Exception e) {
}
}
String p = PROP.getProperty(key);
if (StringUtils.isEmpty(p)) {
p = defaultValue;
}
return p;
}
}

24
designer/src/com/fr/design/mainframe/bbs/BBSGuestPane.java

@ -3,15 +3,6 @@
*/
package com.fr.design.mainframe.bbs;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Desktop;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URI;
import javax.swing.JPanel;
import com.fr.design.gui.ilable.ActionLabel;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory;
@ -21,6 +12,12 @@ import com.fr.general.Inter;
import com.fr.stable.StringUtils;
import com.fr.start.BBSGuestPaneProvider;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URI;
/**
* @author neil
*
@ -54,9 +51,12 @@ public class BBSGuestPane extends JPanel implements BBSGuestPaneProvider{
double[] colSize = {p};
Component[][] components = new Component[rowSize.length][colSize.length];
for (int i = 0; i < components.length; i++) {
String userName = BBSConstants.ALL_GUEST[i];
String url = BBSConstants.ALL_LINK[i];
String[] allGuest = BBSConstants.getAllGuest();
String[] allLink = BBSConstants.getAllLink();
int min = Math.min(allGuest.length, components.length);
for (int i = 0; i < min; i++) {
String userName = allGuest[i];
String url = allLink[i];
components[i][0] = getURLActionLabel(userName, url);
}

12
designer/src/com/fr/design/mainframe/bbs/bbs.properties

@ -4,16 +4,8 @@ COLLECT_URL=http://www.finereporthelp.com:8081/bbs/ReportServer?op=bbs&cmd=colle
DEFAULT_URL=http\://bbs.finereport.com/home.php?mod=space&do=notice
GET_MESSAGE_URL=http://feedback.finedevelop.com:3000/bbs/message/count
GET_SIGN_INFO_URL=http\://bbs.finereport.com
LINK0=http\://bbs.finereport.com/space-uid-55823.html
LINK1=http\://bbs.finereport.com/space-uid-56940.html
LINK2=http\://bbs.finereport.com/space-uid-51621.html
LINK3=http\://bbs.finereport.com/space-uid-52618.html
LINK4=http\://bbs.finereport.com/space-uid-48993.html
LLINK= http\://bbs.fanruan.com/home.php?mod=space&uid=66470&do=profile|http\://bbs.fanruan.com/home.php?mod=space&uid=67190&do=profile|http\://bbs.fanruan.com/home.php?mod=space&uid=65659&do=profile|http\://bbs.fanruan.com/home.php?mod=space&uid=60352&do=profile|http\://bbs.fanruan.com/home.php?mod=space&uid=78157&do=profile
SHARE_URL=http\://bbs.finereport.com
USER0=\u6590\u6CE2\u90A3\u5951(\u5B59\u70B3\u6DA6)
USER1=deafire(\u674E\u5FD7\u4F1F)
USER2=\u963F\u8FEA(\u8C22\u8FEA)
USER3=bingjie(\u5F20\u8BB0\u82B1)
USER4=\u6D77\u7EF5\u5B9D\u5B9D(\u90DD\u6B63)
UUSER=cherishdqy\uFF08\u9093\u79CB\u4E91\uFF09|yets11\uFF08\u9676\u5B5D\u6587\uFF09|\u661F\u75D5\uFF08\u71D5\u5B8F\u4F1F\uFF09|\u9759\u542C\u7985\u9E23\uFF08\u674E\u51A0\u519B\uFF09|yiyemeiying\uFF08\u5218\u4F73\uFF09
VERIFY_URL=http://www.finereporthelp.com:8081/bbs/ReportServer?op=bbs&cmd=verify
UPDATE_INFO_URL=http://bbs.finereport.com/source/plugin/infor/infor.html

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

@ -159,7 +159,7 @@ public class ErrorInfoUploader {
try {
success = ComparatorUtils.equals(new JSONObject(res).get("status"), "success");
} catch (Exception ex) {
success = false;
success = true;
}
return success;
}

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

@ -47,6 +47,12 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
this.initComponents(pane);
}
public boolean isShouldFireSelectedEvent(){
return shouldFireSelectedEvent;
}
protected void initComponents(ElementCasePane pane) {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
@ -136,8 +142,8 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
String name = ((NameWidget) widget).getName();
shouldFireSelectedEvent = false;
editorTypeComboBox.setSelectedItem(new Item(name, name));
shouldFireSelectedEvent = true;
cellEditorCardPane.populate(widget);
shouldFireSelectedEvent = true;
}
// 内置组件
else {
@ -145,10 +151,9 @@ public class WidgetPane extends AbstractAttrNoScrollPane implements ItemListener
if (ArrayUtils.contains(ButtonConstants.CLASSES4BUTTON, clazz)) {
clazz = Button.class;
}
cellEditorCardPane.populate(widget);
shouldFireSelectedEvent = false;
editorTypeComboBox.setSelectedItemByWidgetClass(clazz);
cellEditorCardPane.populate(widget);
shouldFireSelectedEvent = true;
}
removeAttributeChangeListener();

95
designer/src/com/fr/start/ReportSplashPane.java

@ -8,6 +8,7 @@ import com.fr.base.FRContext;
import com.fr.base.GraphHelper;
import com.fr.design.mainframe.bbs.BBSConstants;
import com.fr.general.GeneralContext;
import com.fr.general.Inter;
import com.fr.general.ModuleContext;
import com.fr.stable.Constants;
import com.fr.stable.CoreGraphHelper;
@ -27,18 +28,15 @@ import java.util.TimerTask;
/**
* @author neil
*
* @date: 2015-3-13-上午9:47:58
*/
public class ReportSplashPane extends SplashPane{
public class ReportSplashPane extends SplashPane {
private static final String OEM_PATH = "/com/fr/base/images/oem";
private static final String SPLASH_CN = "splash_chinese.png";
private static final String SPLASH_EN = "splash_english.png";
private static final String SPLASH_MAC_CN = "splash_chinese_mac.png";
private static final String SPLASH_MAC_EN = "splash_english_mac.png";
private static final String OEM_PATH = "/com/fr/base/images/oem";
private static final String SPLASH_MAC_CN = "splash_chinese_mac.png";
private static final String SPLASH_MAC_EN = "splash_english_mac.png";
private static final Color MODULE_COLOR = new Color(230, 230, 230);
private static final Color MODULE_COLOR = new Color(230, 230, 230);
private static final int MODULE_INFO_X = 25;
private static final int MODULE_INFO_Y = 270;
@ -55,6 +53,10 @@ public class ReportSplashPane extends SplashPane{
private java.util.Timer timer = new java.util.Timer();
public ReportSplashPane() {
init();
}
private void init() {
this.setBackground(null);
timer.schedule(new TimerTask() {
@ -65,19 +67,18 @@ public class ReportSplashPane extends SplashPane{
}
}, 0, 300);
ModuleListener moduleListener = new ModuleAdapter() {
@Override
public void onStartBefore(String moduleName, String moduleI18nName) {
moduleID = moduleI18nName;
loadingIndex++;
ReportSplashPane.this.setShowText(moduleID.isEmpty() ? StringUtils.EMPTY : moduleID + loading[loadingIndex % 3]);
ReportSplashPane.this.repaint();
}
};
ModuleContext.registerModuleListener(moduleListener);
}
private ModuleListener moduleListener = new ModuleAdapter() {
@Override
public void onStartBefore(String moduleName, String moduleI18nName) {
moduleID = moduleI18nName;
loadingIndex++;
ReportSplashPane.this.setShowText(moduleID.isEmpty() ? StringUtils.EMPTY : moduleID + loading[loadingIndex % 3]);
ReportSplashPane.this.repaint();
}
};
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
@ -105,7 +106,7 @@ public class ReportSplashPane extends SplashPane{
return splashBuffedImage;
}
private void paintShowText(Graphics2D splashG2d){
private void paintShowText(Graphics2D splashG2d) {
FontRenderContext fontRenderContext = splashG2d.getFontRenderContext();
LineMetrics fm = splashG2d.getFont().getLineMetrics("",
fontRenderContext);
@ -119,6 +120,13 @@ public class ReportSplashPane extends SplashPane{
//加载模块信息
double y = MODULE_INFO_Y + height + leading + ascent;
GraphHelper.drawString(splashG2d, showText, MODULE_INFO_X, y);
//每次随机感谢一位论坛用户
if (shouldShowThanks()) {
splashG2d.setPaint(THANK_COLOR);
String content = Inter.getLocText("FR-Designer_Thanks-To") + GUEST;
GraphHelper.drawString(splashG2d, content, THANK_INFO_X, y);
}
}
// 是否显示鸣谢文字
@ -132,37 +140,36 @@ public class ReportSplashPane extends SplashPane{
return true;
}
private static String getRandomUser(){
int num = new Random().nextInt(BBSConstants.ALL_GUEST.length);
return StringUtils.BLANK + BBSConstants.ALL_GUEST[num];
private static String getRandomUser() {
String[] allGuest = BBSConstants.getAllGuest();
if (allGuest.length == 0) {
return StringUtils.EMPTY;
}
int num = new Random().nextInt(allGuest.length);
return StringUtils.BLANK + allGuest[num];
}
/**
* 窗口关闭后取消定时获取模块信息的timer
*
*/
public void releaseTimer() {
* 窗口关闭后取消定时获取模块信息的timer
*/
public void releaseTimer() {
timer.cancel();
}
/**
* 创建启动画面的背景图片
*
* @return 背景图片
*
*/
public Image createSplashBackground() {
String fileName = getImageName();
return BaseUtils.readImage(StableUtils.pathJoin(OEM_PATH, fileName));
}
//获取图片文件名
private String getImageName(){
boolean isChina = GeneralContext.isChineseEnv();
/**
* 创建启动画面的背景图片
*
* @return 背景图片
*/
public Image createSplashBackground() {
String fileName = getImageName();
return BaseUtils.readImage(StableUtils.pathJoin(OEM_PATH, fileName));
}
//获取图片文件名
private String getImageName() {
boolean isChina = GeneralContext.isChineseEnv();
//jdk1.8下透明有bug, 设置了setWindowTransparent后, JFrame直接最小化了, 先用mac下的加载图片
return isChina ? SPLASH_MAC_CN : SPLASH_MAC_EN;
}
}
}

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

@ -139,7 +139,7 @@ public class DesignerEnvManager implements XMLReadable, XMLWriter {
if (designerEnvManager.nameEnvMap.size() <= 0) {
String installHome = StableUtils.getInstallHome();
if (installHome != null) {
String name = Inter.getLocText("FR-Designer_DEFAULT");
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);

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

@ -22,7 +22,7 @@ public class OpenTemplateAction extends UpdateAction {
this.setMenuKeySet(KeySetUtils.OPEN_TEMPLATE);
this.setName(getMenuKeySet().getMenuKeySetName());
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/open.png"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/open.png"));
this.setAccelerator(getMenuKeySet().getKeyStroke());
}

42
designer_base/src/com/fr/design/actions/help/AboutPane.java

@ -39,10 +39,10 @@ public class AboutPane extends JPanel {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
//center panel
JPanel centerPane=FRGUIPaneFactory.createBorderLayout_L_Pane();
JPanel centerPane = FRGUIPaneFactory.createBorderLayout_L_Pane();
this.add(centerPane, BorderLayout.CENTER);
JPanel contentPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane();
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane();
centerPane.add(contentPane, BorderLayout.NORTH);
BoxCenterAlignmentCopyablePane buildCopyPane = new BoxCenterAlignmentCopyablePane(
@ -68,8 +68,8 @@ public class AboutPane extends JPanel {
Inter.getLocText("FR-Designer-Basic_Activation_Key_Copy_OK")
}));
if (shouldShowPhoneAndQQ()){
if(ComparatorUtils.equals(ProductConstants.APP_NAME,FINEREPORT)){
if (shouldShowPhoneAndQQ()) {
if (ComparatorUtils.equals(ProductConstants.APP_NAME, FINEREPORT)) {
boxCenterAlignmentPane = new BoxCenterAligmentPane(Inter.getLocText("FR-Designer_Service_Phone") + ProductConstants.COMPARE_TELEPHONE);
contentPane.add(boxCenterAlignmentPane);
}
@ -82,12 +82,16 @@ public class AboutPane extends JPanel {
contentPane.add(actionLabel);
contentPane.add(emailLabel);
if (shouldShowThanks()) {
addThankPane(contentPane);
}
}
// 是否显示服务电话和 qq
private boolean shouldShowPhoneAndQQ() {
return !FRContext.getLocale().equals(Locale.US);
}
// 是否显示鸣谢面板
private boolean shouldShowThanks() {
Locale[] hideLocales = {Locale.US, Locale.KOREA, Locale.JAPAN};
@ -100,28 +104,28 @@ public class AboutPane extends JPanel {
}
//添加鸣谢面板
private void addThankPane(JPanel contentPane){
private void addThankPane(JPanel contentPane) {
BBSGuestPaneProvider pane = StableFactory.getMarkedInstanceObjectFromClass(BBSGuestPaneProvider.XML_TAG, BBSGuestPaneProvider.class);
if(pane == null){
return;
if (pane == null) {
return;
}
contentPane.add(Box.createVerticalStrut(DEFAULT_GAP));
contentPane.add((Component) pane);
}
private String append(String...strs){
StringBuilder sb = new StringBuilder();
for(String str : strs){
sb.append(str);
}
private String append(String... strs) {
StringBuilder sb = new StringBuilder();
for (String str : strs) {
sb.append(str);
}
return sb.toString();
return sb.toString();
}
private String getCopyRight(){
return append(Inter.getLocText("FR-Designer_About_CopyRight"), COPYRIGHT_LABEL,
ProductConstants.HISTORY, StringUtils.BLANK, SiteCenter.getInstance().acquireUrlByKind("company.name", ProductConstants.COMPANY_NAME));
private String getCopyRight() {
return append(Inter.getLocText("FR-Designer_About_CopyRight"), COPYRIGHT_LABEL,
ProductConstants.HISTORY, StringUtils.BLANK, SiteCenter.getInstance().acquireUrlByKind("company.name", ProductConstants.COMPANY_NAME));
}
private String getBuildTitle() {
@ -129,7 +133,7 @@ public class AboutPane extends JPanel {
StringUtils.BLANK, ProductConstants.RELEASE_VERSION, BUILD_PREFIX);
}
private BoxCenterAligmentPane getEmailActionLabel(final String mailTo){
private BoxCenterAligmentPane getEmailActionLabel(final String mailTo) {
ActionLabel emailLabel = new ActionLabel(mailTo);
emailLabel.addActionListener(new ActionListener() {
@ -146,8 +150,8 @@ public class AboutPane extends JPanel {
return new BoxCenterAligmentPane(emailLabel);
}
private BoxCenterAligmentPane getURLActionLabel(final String url){
ActionLabel actionLabel = new ActionLabel(url);
private BoxCenterAligmentPane getURLActionLabel(final String url) {
ActionLabel actionLabel = new ActionLabel(url);
actionLabel.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {

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

@ -106,6 +106,11 @@ public interface UIConstants {
public static final Color TITLED_BORDER_COLOR = new Color(0xededee);
public static final Color POP_DIALOG_BORDER = new Color(218, 218, 221);
public static final Color PROPERTY_DIALOG_BORDER = new Color(0xc9c9cd);
public static final Color TAB_BUTTON_HOVER = new Color(231, 230, 235);
public static final Color TAB_BUTTON_HOVER_SELECTED = new Color(239, 238, 243);
public static final Color TAB_BUTTON_PRESS = new Color(228, 227, 232);
public static final Color TAB_BUTTON_PRESS_SELECTED = new Color(236, 236, 238);
public static final BufferedImage DRAG_BAR = BaseUtils.readImage("com/fr/design/images/control/bar.png");

5
designer_base/src/com/fr/design/editor/editor/ColumnSelectedEditor.java

@ -37,6 +37,9 @@ public class ColumnSelectedEditor extends Editor<SimpleDSColumn> {
@Override
public void itemStateChanged(ItemEvent e) {
//这边需要重新初始化columnNames, 否则nameList长度和columnNames长度不同导致出錯。
if (tableDataComboBox.getSelectedItem() == null) {
return;
}
List<String> nameList = tableDataComboBox.getSelectedItem().calculateColumnNameList();
columnNames = new String[nameList.size()];
columnNames = tableDataComboBox.getSelectedItem().calculateColumnNameList().toArray(columnNames);
@ -56,7 +59,7 @@ public class ColumnSelectedEditor extends Editor<SimpleDSColumn> {
@Override
public SimpleDSColumn getValue() {
if (this.tableDataComboBox.getSelectedItem() == null && this.columnNameComboBox.getSelectedItem() == null) {
if (this.tableDataComboBox.getSelectedItem() == null || this.columnNameComboBox.getSelectedItem() == null) {
return null;
}
SimpleDSColumn dsColumn = new SimpleDSColumn();

2
designer_base/src/com/fr/design/gui/controlpane/JListControlPane.java

@ -360,7 +360,7 @@ public abstract class JListControlPane extends JControlPane {
this.creator = creators[0];
this.setName(Inter.getLocText("FR-Action_Add"));
this.setMnemonic('A');
this.setSmallIcon(BaseUtils.readIcon("/com/fr/base/images/cell/control/add.png"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/add.png"));
}
@Override

2
designer_base/src/com/fr/design/gui/controlpane/UIListControlPane.java

@ -447,7 +447,7 @@ public abstract class UIListControlPane extends UIControlPane {
this.creator = creators[0];
this.setName(Inter.getLocText("FR-Action_Add"));
this.setMnemonic('A');
this.setSmallIcon(BaseUtils.readIcon("/com/fr/base/images/cell/control/add.png"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/add.png"));
}
/**

18
designer_base/src/com/fr/design/gui/ibutton/UIButtonUI.java

@ -42,19 +42,23 @@ public class UIButtonUI extends BasicButtonUI {
((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
if (b.isExtraPainted()) {
if (isPressed(b) && b.isPressedPainted()) {
GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles));
} else if (isRollOver(b)) {
GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
} else if (b.isNormalPainted()) {
GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
}
doExtraPainting(b, g2d, w, h, selectedRoles);
}
((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
paintContent(g, b, text);
}
protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
if (isPressed(b) && b.isPressedPainted()) {
GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles));
} else if (isRollOver(b)) {
GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
} else if (b.isNormalPainted()) {
GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
}
}
protected boolean isRollOver(AbstractButton b) {
ButtonModel model = b.getModel();
return model.isRollover() && !b.isSelected();

2
designer_base/src/com/fr/design/gui/icombobox/FunctionComboBox.java

@ -60,7 +60,7 @@ public class FunctionComboBox extends UIComboBox {
if (value instanceof DataFunction) {
DataFunction function = (DataFunction) value;
this.setText(DataCoreUtils.getFunctionDisplayName(function));
this.setText(" " + DataCoreUtils.getFunctionDisplayName(function));
}
return this;

4
designer_base/src/com/fr/design/gui/icombobox/UIComboBoxUI.java

@ -67,9 +67,9 @@ public class UIComboBoxUI extends BasicComboBoxUI implements MouseListener {
}
g2d.setColor(linecolor);
if (!comboBox.isPopupVisible()) {
g2d.drawRoundRect(0, 0, c.getWidth() - arrowButton.getWidth() + 3, c.getHeight() - 1, UIConstants.LARGEARC, UIConstants.LARGEARC);
g2d.drawRoundRect(0, 0, c.getWidth() - arrowButton.getWidth() + 3, c.getHeight() - 1, UIConstants.ARC, UIConstants.ARC);
} else {
g2d.drawRoundRect(0, 0, c.getWidth(), c.getHeight() + 3, UIConstants.LARGEARC, UIConstants.LARGEARC);
g2d.drawRoundRect(0, 0, c.getWidth(), c.getHeight() + 3, UIConstants.ARC, UIConstants.ARC);
g2d.drawLine(0, c.getHeight() - 1, c.getWidth(), c.getHeight() - 1);
}
}

2
designer_base/src/com/fr/design/gui/icontainer/UIScrollPaneUI.java

@ -36,13 +36,11 @@ public class UIScrollPaneUI extends MetalScrollPaneUI implements PropertyChangeL
// Note: It never happened before Java 1.5 that scrollbar is null
JScrollBar sb = scrollpane.getHorizontalScrollBar();
if (sb != null) {
sb.setBackground(Color.red);
sb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
}
sb = scrollpane.getVerticalScrollBar();
if (sb != null) {
sb.setBackground(Color.red);
sb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
}
}

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 278 B

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

@ -183,7 +183,7 @@ FR-Designer_Support_QQ=\u6280\u672FQQ
FR-Designer_Swatch=\u6837\u54C1
FR-Designer_Tab_title=tab\u6807\u9898
FR-Designer_TableData=\u6570\u636E\u96C6
FR-Designer_Thank_guest=\u7279\u522B\u9E23\u8C22\u4EE5\u4E0B\u8BBA\u575B\u5E06\u85AF\u5BF9\u8BE5\u7248\u672C\u8BBE\u8BA1\u5668\u6613\u7528\u6027\u505A\u51FA\u7684\u7A81\u51FA\u8D21\u732E
FR-Designer_Thank_guest=\u7279\u522B\u9E23\u8C22\u4EE5\u4E0B\u756A\u85AF\u5BF9\u5E06\u8F6F\u4EA7\u54C1\u3001\u6587\u5316\u3001\u751F\u6001\u5EFA\u8BBE\u505A\u51FA\u7684\u7A81\u51FA\u8D21\u732E
FR-Designer_Thanks-To=\u9E23\u8C22
FR-Designer_Title=\u6807\u9898
FR-Designer_Total=\u603B\u5171

2
designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java

@ -171,7 +171,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
public OpenReportAction() {
this.setName(KeySetUtils.OPEN_TEMPLATE.getMenuKeySetName());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_file/open.png"));
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/buttonicon/open.png"));
}
@Override

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

@ -4,10 +4,12 @@ import com.fr.base.BaseUtils;
import com.fr.design.DesignerEnvManager;
import com.fr.design.constants.UIConstants;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIButtonUI;
import com.fr.design.gui.icontainer.UIEastResizableContainer;
import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.VerticalFlowLayout;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.design.utils.gui.GUIPaintUtils;
import com.fr.general.ComparatorUtils;
import com.fr.general.FRFont;
import com.fr.general.Inter;
@ -38,7 +40,6 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private static final int ARROW_RANGE_START = CONTENT_WIDTH - 30;
// 弹出对话框高度
private static final int POPUP_MIN_HEIGHT = 145;
private static final int POPUP_MAX_HEIGHT = 480;
private static final int POPUP_DEFAULT_HEIGHT = 356;
public static final String KEY_CELL_ELEMENT = "cellElement";
public static final String KEY_CELL_ATTR = "cellAttr";
@ -521,6 +522,10 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
}
public void reAddContentArea() {
propertyPanel.add(contentArea, BorderLayout.CENTER);
}
public boolean isVisible() {
return isVisible;
}
@ -578,7 +583,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
popupDialog.replaceContentPane(this);
}
if (popupPane != null && !isRightPaneVisible()) {
popupPane.replaceContentPane(contentPane);
popupPane.replaceContentPane(contentArea);
}
refreshContainer();
@ -588,6 +593,10 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
return contentPane;
}
public Container getContentArea() {
return contentArea;
}
public void replaceHeaderPane(JComponent pane) {
contentArea.remove(headerPane);
int height = Math.min(pane.getPreferredSize().height, MAX_PARA_HEIGHT);
@ -612,7 +621,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
hideCurrentPopupPane();
replaceContentPane(contentPane);
} else if(popupPane != null) {
popupPane.replaceContentPane(contentPane);
popupPane.replaceContentPane(contentArea);
}
}
@ -638,6 +647,10 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
selectedItem = this;
}
private boolean isTabButtonSelected() {
return button.getBackground() == selectedBtnBackground;
}
private void initButton() {
button = new UIButton(BaseUtils.readIcon(getBtnIconUrl())) {
public Dimension getPreferredSize() {
@ -649,6 +662,20 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
};
button.set4LargeToolbarButton();
button.setUI(new UIButtonUI() {
@Override
protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
if (isPressed(b) && b.isPressedPainted()) {
Color pressColor = isTabButtonSelected() ? UIConstants.TAB_BUTTON_PRESS_SELECTED : UIConstants.TAB_BUTTON_PRESS;
GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), pressColor);
} else if (isRollOver(b)) {
Color hoverColor = isTabButtonSelected() ? UIConstants.TAB_BUTTON_HOVER_SELECTED : UIConstants.TAB_BUTTON_HOVER;
GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), hoverColor);
} else if (b.isNormalPainted()) {
GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
}
}
});
originBtnBackground = button.getBackground();
button.addActionListener(new ActionListener() {
@Override
@ -714,6 +741,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
if (isPoppedOut) {
isPoppedOut = false;
popupDialog.setVisible(false);
reAddContentArea();
initContentPane();
onResize();
if (isEnabled()) {
@ -726,9 +754,12 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
}
private class FixedPopupPane extends JPopupMenu {
private JComponent contentPane;
private Container contentPane;
private PropertyItem propertyItem;
FixedPopupPane(PropertyItem propertyItem) {
contentPane = propertyItem.getContentPane();
this.propertyItem = propertyItem;
contentPane = propertyItem.getContentArea();
this.setLayout(new BorderLayout());
this.add(new PopupToolPane(propertyItem), BorderLayout.NORTH);
this.add(contentPane, BorderLayout.CENTER);
@ -736,14 +767,24 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
setPreferredSize(new Dimension(CONTAINER_WIDTH - TAB_WIDTH, POPUP_DEFAULT_HEIGHT));
}
@Override
public void setVisible(boolean visible) {
super.setVisible(visible);
if (visible == true) {
replaceContentPane(propertyItem.getContentArea());
} else {
propertyItem.reAddContentArea();
}
}
public void menuSelectionChanged(boolean isIncluded) {
}
public JComponent getContentPane() {
public Container getContentPane() {
return contentPane;
}
public void replaceContentPane(JComponent pane) {
public void replaceContentPane(Container pane) {
this.remove(this.contentPane);
this.add(this.contentPane = pane);
refreshContainer();
@ -920,7 +961,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
private Point mouseDownCompCoords;
private JPanel contentWrapper;
private JComponent contentPane;
private Container contentPane;
private JPanel defaultPane; // 无可用配置项
private PropertyItem propertyItem;
public PopupDialog(PropertyItem propertyItem) {
@ -930,7 +971,7 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
this.propertyItem = propertyItem;
PopupToolPane popupToolPane = new PopupToolPane(propertyItem, PopupToolPane.UP_BUTTON);
popupToolPane.setParentDialog(this);
contentPane = propertyItem.getContentPane();
contentPane = propertyItem.getContentArea();
contentWrapper = new JPanel(new BorderLayout());
contentWrapper.add(popupToolPane, BorderLayout.NORTH);
@ -969,10 +1010,10 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
public void replaceContentPane(PropertyItem propertyItem) {
this.propertyItem = propertyItem;
replaceContentPane(propertyItem.getContentPane());
replaceContentPane(propertyItem.getContentArea());
}
public void replaceContentPane(JComponent contentPane) {
public void replaceContentPane(Container contentPane) {
contentWrapper.remove(this.contentPane);
contentWrapper.add(this.contentPane = contentPane, BorderLayout.CENTER);
refreshContainer();
@ -996,9 +1037,6 @@ public class EastRegionContainerPane extends UIEastResizableContainer {
if (bounds.height < POPUP_MIN_HEIGHT) {
bounds.height = POPUP_MIN_HEIGHT;
}
if (bounds.height > POPUP_MAX_HEIGHT) {
bounds.height = POPUP_MAX_HEIGHT;
}
mouseDownCompCoords.y = currCoords.y;
setBounds(bounds);
}

20
designer_base/src/com/fr/design/roleAuthority/ReportAndFSManagePane.java

@ -1,7 +1,6 @@
package com.fr.design.roleAuthority;
import com.fr.base.BaseUtils;
import com.fr.base.FRCoreContext;
import com.fr.design.actions.UpdateAction;
import com.fr.design.constants.UIConstants;
import com.fr.design.data.DesignTableDataManager;
@ -15,7 +14,6 @@ import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.DockingView;
import com.fr.design.menu.ToolBarDef;
import com.fr.general.Inter;
import com.fr.general.VT4FR;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
@ -184,16 +182,9 @@ public class ReportAndFSManagePane extends DockingView implements Prepare4DataSo
}
private void initbuttonGroup() {
isSupportFS = supportFineDecision();
Icon[] iconArray = null;
String[] textArray = null;
if (isSupportFS) {
iconArray = new Icon[]{BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")};
textArray = new String[]{Inter.getLocText("FR-Designer_FS_Name")};
} else {
iconArray = new Icon[]{BaseUtils.readIcon("/com/fr/web/images/platform/platform_16_16.png")};
textArray = new String[]{Inter.getLocText("M_Server-Platform_Manager")};
}
Icon[] iconArray = new Icon[]{BaseUtils.readIcon("/com/fr/web/images/platform/demo.png")};
String[] textArray = new String[]{Inter.getLocText("FR-Designer_FS_Name")};
buttonGroup = new UIHeadGroup(iconArray, textArray) {
public void tabChanged(int index) {
roleTree.setEditable(false);
@ -212,11 +203,6 @@ public class ReportAndFSManagePane extends DockingView implements Prepare4DataSo
buttonGroup.setNeedLeftRightOutLine(false);
}
private boolean supportFineDecision() {
byte[] bytes = FRCoreContext.getBytes();
return VT4FR.isLicAvailable(bytes) && VT4FR.FS_BI.support();
}
private int getMode(){
return isSupportFS?FS_MANAGE: REPORT_PLATEFORM_MANAGE;
}

19
designer_base/src/com/fr/design/utils/gui/GUIPaintUtils.java

@ -85,13 +85,18 @@ public class GUIPaintUtils {
* @param isPressedPainted 是否按压画
*/
public static final void fillRollOver(Graphics2D g2d, int x, int y, int width, int height, boolean isRound, int rectDirection, boolean isAuthorityEdited, boolean isPressedPainted) {
fillRollOver(g2d, x, y, width, height, isRound, rectDirection, isAuthorityEdited, isPressedPainted, null);
}
public static final void fillRollOver(Graphics2D g2d, int x, int y, int width, int height, boolean isRound, int rectDirection, boolean isAuthorityEdited, boolean isPressedPainted, Color hoverColor) {
GradientPaint gp;
if (BaseUtils.isAuthorityEditing() && isAuthorityEdited) {
if (hoverColor != null) {
gp = new GradientPaint(1, 1, hoverColor, 1, height - 1, hoverColor);
} else if (BaseUtils.isAuthorityEditing() && isAuthorityEdited) {
gp = new GradientPaint(1, 1, UIConstants.AUTHORITY_BLUE, 1, height - 1, UIConstants.HOVER_BLUE);
} else if (isPressedPainted) {
gp = new GradientPaint(1, 1, UIConstants.ATTRIBUTE_HOVER, 1, height - 1, UIConstants.ATTRIBUTE_HOVER);
}else {
// gp = new GradientPaint(1, 1, UIConstants.NORMAL_BACKGROUND, 1, height - 1, UIConstants.HOVER_BLUE);
} else {
gp = new GradientPaint(1, 1, UIConstants.HOVER_BLUE, 1, height - 1, UIConstants.HOVER_BLUE);
}
fillPaint(g2d, x, y, width, height, isRound, rectDirection, gp, UIConstants.ARC);
@ -110,8 +115,14 @@ public class GUIPaintUtils {
*
*/
public static final void fillPressed(Graphics2D g2d, int x, int y, int width, int height, boolean isRound, int rectDirection, boolean isAuthorityEdited) {
fillPressed(g2d, x, y, width, height, isRound, rectDirection, isAuthorityEdited, null);
}
public static final void fillPressed(Graphics2D g2d, int x, int y, int width, int height, boolean isRound, int rectDirection, boolean isAuthorityEdited, Color pressedColor) {
Color oldColor = g2d.getColor();
if (BaseUtils.isAuthorityEditing() && isAuthorityEdited) {
if (pressedColor != null) {
g2d.setColor(pressedColor);
} else if (BaseUtils.isAuthorityEditing() && isAuthorityEdited) {
g2d.setColor(UIConstants.AUTHORITY_PRESS_BLUE);
} else {
g2d.setColor(UIConstants.ATTRIBUTE_PRESS);

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

@ -27,6 +27,7 @@ import com.fr.general.FRLogger;
import com.fr.general.GeneralContext;
import com.fr.general.Inter;
import com.fr.general.ModuleContext;
import com.fr.general.SiteCenter;
import com.fr.plugin.PluginCollector;
import com.fr.plugin.manage.PluginManager;
import com.fr.plugin.manage.PluginStartup;
@ -64,6 +65,8 @@ public abstract class BaseDesigner extends ToolBarMenuDock {
}
RestartHelper.deleteRecordFilesWhenStart();
SiteCenter.getInstance();
DesignUtils.setPort(getStartPort());
// 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了
if (DesignUtils.isStarted()) {

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

@ -114,7 +114,7 @@ public class ChangeConfigPane extends BasicBeanPane<ChartCollection> {
}
private JPanel createTitleStylePane() {
UILabel text = new UILabel(Inter.getLocText("Plugin-Chart_Character"), SwingConstants.LEFT);
final UILabel text = new UILabel(Inter.getLocText("Plugin-Chart_Character"), SwingConstants.LEFT);
styleAttrPane = new ChartTextAttrPane() {
protected JPanel getContentPane(JPanel buttonPane) {
double p = TableLayout.PREFERRED;

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

@ -21,7 +21,7 @@ import com.fr.design.widget.ui.designer.AbstractDataModify;
import com.fr.form.ui.container.WParameterLayout;
import com.fr.general.Background;
import com.fr.general.Inter;
import com.fr.stable.Constants;
import com.fr.report.stable.FormConstants;
import javax.swing.*;
import java.awt.*;
@ -82,7 +82,7 @@ public class RootDesignDefinePane extends AbstractDataModify<WParameterLayout> {
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_center_normal.png"),
BaseUtils.readIcon("/com/fr/design/images/m_format/cellstyle/h_right_normal.png"),};
Integer[] hAlignment = new Integer[]{Constants.LEFT, Constants.CENTER, Constants.RIGHT};
Integer[] hAlignment = new Integer[]{FormConstants.LEFTPOSITION, FormConstants.CENTERPOSITION, FormConstants.RIGHTPOSITION};
hAlignmentPane = new UIButtonGroup<Integer>(hAlignmentIconArray, hAlignment);
hAlignmentPane.setAllToolTips(new String[]{Inter.getLocText("FR-Designer-StyleAlignment_Left")
, Inter.getLocText("FR-Designer-StyleAlignment_Center"), Inter.getLocText("FR-Designer-StyleAlignment_Right")});

Loading…
Cancel
Save