diff --git a/designer-base/src/main/java/com/fr/design/dialog/UIDialog.java b/designer-base/src/main/java/com/fr/design/dialog/UIDialog.java index 8f2021c69..dd3ddab3b 100644 --- a/designer-base/src/main/java/com/fr/design/dialog/UIDialog.java +++ b/designer-base/src/main/java/com/fr/design/dialog/UIDialog.java @@ -116,6 +116,11 @@ public abstract class UIDialog extends JDialog { doCancel(); } }); + + applyEnterAction(); + } + + protected void applyEnterAction() { JPanel defaultPane = (JPanel) this.getContentPane(); InputMap inputMapAncestor = defaultPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ActionMap actionMap = defaultPane.getActionMap(); diff --git a/designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java b/designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java index 50d6448b8..b188cb5aa 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/AlignmentPane.java @@ -55,7 +55,7 @@ public class AlignmentPane extends AbstractBasicStylePane implements GlobalNameO private static final int ANGEL = 90; private static final int GAP = 23; private static final int VERGAP = 3; - private static final Dimension SPINNER_DIMENSION = new Dimension(70, 20); + private static final Dimension SPINNER_DIMENSION = new Dimension(75, 20); private static final String[] TEXT = {com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Wrap_Text"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Single_Line"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Single_Line(Adjust_Font)"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_StyleAlignment_Multi_Line(Adjust_Font)")}; diff --git a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundNoImagePane.java b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundNoImagePane.java index 556b27c21..54ad9623e 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundNoImagePane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundNoImagePane.java @@ -28,7 +28,7 @@ public class BackgroundNoImagePane extends BackgroundPane{ fireStateChanged(); } }); - GradientBackgroundQuickPane gradientPane = createGradientBackgroundQuickPane(); + GradientBackgroundQuickPane gradientPane = new GradientBackgroundQuickPane(); gradientPane.registerChangeListener(new UIObserverListener() { @Override @@ -42,8 +42,4 @@ public class BackgroundNoImagePane extends BackgroundPane{ gradientPane }; } - - protected GradientBackgroundQuickPane createGradientBackgroundQuickPane(){ - return new GradientBackgroundQuickPane(); - } -} +} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundPane.java b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundPane.java index 407c522ce..88ee482cb 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundPane.java @@ -71,7 +71,7 @@ public class BackgroundPane extends AbstractBasicStylePane { double p = TableLayout.PREFERRED; Component[][] components = new Component[][]{ new Component[]{null, null}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Fill"), SwingConstants.LEFT),typeComboBox}, + new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Fill") + " ", SwingConstants.LEFT),typeComboBox}, new Component[]{null, centerPane} }; double[] rowSize = {p, p, p}; @@ -89,7 +89,7 @@ public class BackgroundPane extends AbstractBasicStylePane { kinds.add(new TextureBackgroundQuickPane()); kinds.add(new PatternBackgroundQuickPane()); kinds.add(new ImageBackgroundQuickPane()); - kinds.add(createGradientBackgroundQuickPane()); + kinds.add(new GradientBackgroundQuickPane()); Set providers = ExtraDesignClassManager.getInstance().getArray(BackgroundQuickUIProvider.MARK_STRING); for (BackgroundQuickUIProvider provider : providers) { kinds.add(provider.appearanceForBackground()); @@ -98,10 +98,6 @@ public class BackgroundPane extends AbstractBasicStylePane { return kinds.toArray(new BackgroundQuickPane[kinds.size()]); } - protected GradientBackgroundQuickPane createGradientBackgroundQuickPane(){ - return new GradientBackgroundQuickPane(); - } - /** * 事件监听 @@ -176,4 +172,4 @@ public class BackgroundPane extends AbstractBasicStylePane { return style.deriveBackground(this.update()); } -} +} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundSpecialPane.java b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundSpecialPane.java index 3713fca7b..72aa1b35e 100644 --- a/designer-base/src/main/java/com/fr/design/gui/style/BackgroundSpecialPane.java +++ b/designer-base/src/main/java/com/fr/design/gui/style/BackgroundSpecialPane.java @@ -39,7 +39,7 @@ public class BackgroundSpecialPane extends BackgroundPane{ fireStateChanged(); } }); - GradientBackgroundQuickPane gradientPane = createGradientBackgroundQuickPane(); + GradientBackgroundQuickPane gradientPane = new GradientBackgroundQuickPane(); gradientPane.registerChangeListener(new UIObserverListener() { @Override public void doChange() { @@ -48,12 +48,12 @@ public class BackgroundSpecialPane extends BackgroundPane{ }); //hugh:表单支持背景接口 List kinds = new ArrayList(); - + kinds.add(new NullBackgroundQuickPane()); kinds.add(colorBackgroundPane); kinds.add(imageBackgroundPane); kinds.add(gradientPane); - + Set providers = ExtraDesignClassManager.getInstance().getArray(BackgroundQuickUIProvider.MARK_STRING); for (BackgroundQuickUIProvider provider : providers) { BackgroundQuickPane newTypePane = provider.appearanceForBackground(); @@ -65,11 +65,7 @@ public class BackgroundSpecialPane extends BackgroundPane{ }); kinds.add(newTypePane); } - + return kinds.toArray(new BackgroundQuickPane[kinds.size()]); } - - protected GradientBackgroundQuickPane createGradientBackgroundQuickPane(){ - return new GradientBackgroundQuickPane(); - } -} +} \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java index da0a2131c..f63d8f576 100644 --- a/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java +++ b/designer-base/src/main/java/com/fr/design/layout/FRGUIPaneFactory.java @@ -152,20 +152,6 @@ public class FRGUIPaneFactory { return jp; } - /** - * 创建一个无间隔带标题边框面板 - * - * @param string 边框标题 - * @return JPanel对象 - */ - public static JPanel createTitledBorderNoGapPane(String string) { - JPanel jp = new JPanel(); - UITitledBorder explainBorder = UITitledBorder.createBorderWithTitle(string); - jp.setBorder(explainBorder); - jp.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); - return jp; - } - /** * 创建一个带标题边框面板,垂直居左布局 * @@ -318,21 +304,6 @@ public class FRGUIPaneFactory { return jp; } - /** - * 创建一个靠左的水平流式布局 - * @param firstGap 首元素和边框间距 - * @param hgap 水平间距 - * @param vgap 竖直间距 - * @return JPanel对象 - */ - public static JPanel createBoxFlowInnerContainer_S_Pane(int firstGap, int hgap, int vgap) { - JPanel jp = new JPanel(); - jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - jp.setLayout(new FRLeftFlowLayout(firstGap, hgap, vgap)); - return jp; - } - - /** * 创建一个靠左流式布局,流式内嵌,首元素距离左边0 * @@ -344,21 +315,6 @@ public class FRGUIPaneFactory { return jp; } - /** - * 创建一个靠左的水平流式布局 - * @param hgap 水平间距 - * @param vgap 竖直间距 - * @return JPanel对象 - */ - public static JPanel createBoxFlowInnerContainer_S_Pane(int hgap, int vgap) { - JPanel jp = new JPanel(); - jp.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - jp.setLayout(new FlowLayout(FlowLayout.LEFT, hgap, vgap)); - return jp; - } - - - /** * 创建一个靠右面板 * @@ -513,8 +469,6 @@ public class FRGUIPaneFactory { return jp; } - - /** * 创建垂直流布局面板 * diff --git a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java index c1682f974..f29e22698 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java @@ -6,7 +6,6 @@ import com.fr.base.Parameter; import com.fr.base.ScreenResolution; import com.fr.base.io.BaseBook; import com.fr.base.iofile.attr.DesignBanCopyAttrMark; -import com.fr.base.iofile.attr.PredefinedStyleAttrMark; import com.fr.base.iofile.attr.TemplateIdAttrMark; import com.fr.base.vcs.DesignerMode; import com.fr.design.DesignModelAdapter; @@ -39,9 +38,6 @@ import com.fr.design.gui.itree.filetree.TemplateFileTree; import com.fr.design.i18n.Toolkit; import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.mainframe.chart.info.ChartInfoCollector; -import com.fr.design.mainframe.predefined.info.PredefinedStyleInfoCollector; -import com.fr.design.mainframe.predefined.ui.ReportPredefinedStylePane; -import com.fr.design.mainframe.predefined.ui.dialog.ReportPredefinedStyleDialog; import com.fr.design.mainframe.template.info.TemplateInfoCollector; import com.fr.design.mainframe.template.info.TemplateProcessInfo; import com.fr.design.mainframe.template.info.TimeConsumeTimer; @@ -84,8 +80,6 @@ import javax.swing.JComponent; import javax.swing.JOptionPane; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.undo.UndoManager; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Arrays; import java.util.Set; @@ -148,14 +142,8 @@ public abstract class JTemplate> consumeTimer.setEnabled(shouldInitForCollectInfo(isNewFile)); initAndStartPlugin(); - - if (this.template.getAttrMark(PredefinedStyleAttrMark.XML_TAG) == null) { - this.template.addAttrMark(new PredefinedStyleAttrMark()); - } } - - private void initAndStartPlugin() { initPluginPane(); startListenPlugin(); @@ -809,7 +797,6 @@ public abstract class JTemplate> return false; } try { - this.getTarget().resetPreferenceStyle(this.getTemplatePredefinedStyle()); this.getTarget().export(editingFILE.asOutputStream()); } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); @@ -1309,48 +1296,10 @@ public abstract class JTemplate> for (DesignerFrameUpButtonProvider provider : providers) { uiButtons = ArrayUtils.addAll(uiButtons, provider.getUpButtons(getMenuState())); } - UIButton predefinedBtn = createPreferenceButton(); - if (predefinedBtn != null) { - uiButtons = ArrayUtils.addAll(uiButtons, new UIButton[]{predefinedBtn}); - } - return uiButtons; - } - - protected UIButton createPreferenceButton(){ - UIButton preferenceButton = new UIButton(BaseUtils.readIcon("/com/fr/design/icon/icon_predefined_style.png")); - preferenceButton.setToolTipText("预定义样式按钮"); - preferenceButton.setText(getTemplatePredefinedStyle()); - preferenceButton.set4ToolbarButton(); - preferenceButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); - ReportPredefinedStylePane stylePane = new ReportPredefinedStylePane(JTemplate.this, preferenceButton); - ReportPredefinedStyleDialog dialog = new ReportPredefinedStyleDialog(designerFrame, stylePane); - PredefinedStyleInfoCollector.getInstance().collectClickNumber(); - dialog.setVisible(true); - } - }); - return preferenceButton; - } - - public void resetPredefinedStyle(String styleName, UIButton predefinedBtn){ - this.getTarget().resetPreferenceStyle(styleName); - predefinedBtn.setText(getTemplatePredefinedStyle()); - this.fireTargetModified(); - this.repaint(); - } - - public String getTemplatePredefinedStyle(){ - PredefinedStyleAttrMark attrMark = this.getTarget().getAttrMark(PredefinedStyleAttrMark.XML_TAG); - if (attrMark == null){ - attrMark = new PredefinedStyleAttrMark(); - } - return attrMark.getPreferenceStyleName(); + return uiButtons; } - /** * 由于老版本的模板没有模板ID,当勾选使用参数模板时候,就加一个模板ID attr * diff --git a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractPointCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractPointCollector.java index 6ac14505a..15291211c 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractPointCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractPointCollector.java @@ -3,6 +3,7 @@ package com.fr.design.mainframe.burying.point; import com.fr.base.FRContext; import com.fr.base.io.XMLReadHelper; import com.fr.design.DesignerEnvManager; +import com.fr.design.mainframe.template.info.SendHelper; import com.fr.log.FineLoggerFactory; import com.fr.stable.ProductConstants; import com.fr.stable.StableUtils; @@ -19,20 +20,25 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; /** * @author Bjorn * @version 10.0 * Created by Bjorn on 2020-02-21 */ -public abstract class AbstractPointCollector implements BasePointCollector { - +public abstract class AbstractPointCollector implements BasePointCollector { + protected Map pointInfoMap; private static final int MAX_SIZE = 512 * 1024 * 1024; public AbstractPointCollector() { - + pointInfoMap = new ConcurrentHashMap<>(); + loadFromFile(); } /** @@ -42,6 +48,34 @@ public abstract class AbstractPointCollector implements BasePointCollector { return FileUtils.sizeOf(getInfoFile()) <= MAX_SIZE && DesignerEnvManager.getEnvManager().isJoinProductImprove() && FRContext.isChineseEnv(); } + @Override + public void sendPointInfo() { + + addIdleDayCount(); + + List removeList = new ArrayList<>(); + List sendList = new ArrayList<>(); + + for (String key : pointInfoMap.keySet()) { + AbstractPointInfo pointInfo = pointInfoMap.get(key); + pointInfo.selectPoint(removeList, sendList); + } + + // 发送记录 + for (String key : sendList) { + if(SendHelper.sendPointInfo(pointInfoMap.get(key))){ + removeList.add(key); + } + } + + // 清空记录 + for (String key : removeList) { + pointInfoMap.remove(key); + } + + saveInfo(); + } + /** * 从文件中读取埋点信息 */ diff --git a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractTemplateInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractTemplateInfoCollector.java deleted file mode 100644 index 34dc5ea2a..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/AbstractTemplateInfoCollector.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.fr.design.mainframe.burying.point; - -import com.fr.design.mainframe.template.info.SendHelper; -import com.fr.design.mainframe.template.info.TemplateProcessInfo; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Created by kerry on 2020-09-04 - */ -public abstract class AbstractTemplateInfoCollector extends AbstractPointCollector { - protected Map pointInfoMap; - - public AbstractTemplateInfoCollector() { - pointInfoMap = new ConcurrentHashMap<>(); - loadFromFile(); - - } - - - /** - * 保存埋点的信息到本地 - */ - public abstract void collectInfo(String templateID, String originID, TemplateProcessInfo processInfo, int timeConsume); - - @Override - public void sendPointInfo() { - - addIdleDayCount(); - - List removeList = new ArrayList<>(); - List sendList = new ArrayList<>(); - - for (String key : pointInfoMap.keySet()) { - BasePointInfo pointInfo = pointInfoMap.get(key); - pointInfo.selectPoint(removeList, sendList); - } - - // 发送记录 - for (String key : sendList) { - if(SendHelper.sendPointInfo(pointInfoMap.get(key))){ - removeList.add(key); - } - } - - // 清空记录 - for (String key : removeList) { - pointInfoMap.remove(key); - } - - saveInfo(); - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/BasePointCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/burying/point/BasePointCollector.java index e2a3c778c..f10f1682e 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/burying/point/BasePointCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/burying/point/BasePointCollector.java @@ -1,5 +1,6 @@ package com.fr.design.mainframe.burying.point; +import com.fr.design.mainframe.template.info.TemplateProcessInfo; import com.fr.stable.xml.XMLReadable; import com.fr.stable.xml.XMLWriter; @@ -15,4 +16,8 @@ public interface BasePointCollector extends XMLReadable, XMLWriter { */ public void sendPointInfo(); + /** + * 保存埋点的信息到本地 + */ + public void collectInfo(String templateID, String originID, TemplateProcessInfo processInfo, int timeConsume); } diff --git a/designer-base/src/main/java/com/fr/design/mainframe/chart/info/ChartInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/chart/info/ChartInfoCollector.java index 428e5625c..cd651fc6b 100644 --- a/designer-base/src/main/java/com/fr/design/mainframe/chart/info/ChartInfoCollector.java +++ b/designer-base/src/main/java/com/fr/design/mainframe/chart/info/ChartInfoCollector.java @@ -4,7 +4,7 @@ import com.fr.base.io.BaseBook; import com.fr.chartx.attr.ChartProvider; import com.fr.chartx.config.info.AbstractConfig; import com.fr.chartx.config.info.constant.ConfigType; -import com.fr.design.mainframe.burying.point.AbstractTemplateInfoCollector; +import com.fr.design.mainframe.burying.point.AbstractPointCollector; import com.fr.design.mainframe.template.info.TemplateInfo; import com.fr.design.mainframe.template.info.TemplateProcessInfo; import com.fr.general.ComparatorUtils; @@ -21,7 +21,7 @@ import java.util.Map; * @version 10.0 * Created by Bjorn on 2020-02-18 */ -public class ChartInfoCollector extends AbstractTemplateInfoCollector { +public class ChartInfoCollector extends AbstractPointCollector { private static final String XML_TAG = "ChartInfoCollector"; private static final String XML_LAST_EDIT_DAY = "lastEditDay"; diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/PatternStyle.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/PatternStyle.java deleted file mode 100644 index 467c554a4..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/PatternStyle.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.fr.design.mainframe.predefined; - -import com.fr.config.predefined.PredefinedStyle; -import com.fr.predefined.PredefinedPatternStyleManager; - - -/** - * Created by kerry on 2020-08-31 - */ -public enum PatternStyle { - DARK_STYLE(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Dark_Pattern")) { - @Override - public PredefinedStyle getPredefinedStyle() { - return PredefinedPatternStyleManager.getInstance().getDarkMode(); - } - }, - LIGHT_STYLE(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Light_Pattern")) { - @Override - public PredefinedStyle getPredefinedStyle() { - return PredefinedPatternStyleManager.getInstance().getLightMode(); - } - }; - - - private String name; - - - PatternStyle(String name) { - this.name = name; - } - - public String getName() { - return this.name; - } - - public abstract PredefinedStyle getPredefinedStyle(); - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/info/PredefinedStyleInfoCollector.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/info/PredefinedStyleInfoCollector.java deleted file mode 100644 index 2827cbee0..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/info/PredefinedStyleInfoCollector.java +++ /dev/null @@ -1,118 +0,0 @@ -package com.fr.design.mainframe.predefined.info; - -import com.fr.config.MarketConfig; -import com.fr.design.DesignerEnvManager; -import com.fr.design.mainframe.burying.point.AbstractPointCollector; -import com.fr.design.mainframe.template.info.SendHelper; -import com.fr.general.CloudCenter; -import com.fr.general.GeneralUtils; -import com.fr.json.JSONObject; -import com.fr.stable.xml.XMLPrintWriter; -import com.fr.stable.xml.XMLableReader; -import com.fr.third.joda.time.DateTime; - -/** - * Created by kerry on 2020-09-04 - */ -public class PredefinedStyleInfoCollector extends AbstractPointCollector { - private static final String SIMPLE_DATE_PATTERN = "yyyy-MM-dd"; - private static final String XML_TAG = "PredefinedStyleInfo"; - private static final String XML_FILE_NAME = "predefinedStyle.info"; - private static final String CLOUD_URL = CloudCenter.getInstance().acquireUrlByKind("predefinedInfo.collector") + "/single"; - - private static final String FUNCTION_NAME = "predefinedStyle"; - private static final String FUNCTION_ID = "FR-F7003"; - - private static final String ATTR_FUNCTION_NAME = "functionName"; - private static final String ATTR_FUNCTION_ID = "functionId"; - private static final String ATTR_UUID = "uuid"; - private static final String ATTR_UID = "uid"; - private static final String ATTR_JAR_TIME = "jatTime"; - private static final String ATTR_CLICK_NUMBER = "clickNumber"; - private static final String ATTR_USE_NUMBER = "useNumber"; - private static final String ATTR_TIME = "time"; - - private int clickNumber = 0; - - private int useNumber = 0; - - public int getClickNumber() { - return clickNumber; - } - - public int getUseNumber() { - return useNumber; - } - - private static class Holder { - private static PredefinedStyleInfoCollector collector = new PredefinedStyleInfoCollector(); - } - - private PredefinedStyleInfoCollector() { - loadFromFile(); - } - - public static PredefinedStyleInfoCollector getInstance() { - return Holder.collector; - } - - public void collectClickNumber() { - clickNumber++; - saveInfo(); - } - - public void collectUseNumber() { - useNumber++; - saveInfo(); - } - - @Override - protected String getInfoFilePath() { - return XML_FILE_NAME; - } - - @Override - protected void addIdleDayCount() { - - } - - @Override - public void sendPointInfo() { - String content = generateTotalInfo(); - - SendHelper.sendSinglePointInfo(CLOUD_URL, content); - } - - public String generateTotalInfo() { - - JSONObject jo = JSONObject.create(); - jo.put(ATTR_FUNCTION_NAME, FUNCTION_NAME); - jo.put(ATTR_FUNCTION_ID, FUNCTION_ID); - jo.put(ATTR_UUID, DesignerEnvManager.getEnvManager().getUUID()); - jo.put(ATTR_UID, MarketConfig.getInstance().getBBSAttr().getBbsUid()); - jo.put(ATTR_JAR_TIME, GeneralUtils.readFullVersionNO()); - jo.put(ATTR_CLICK_NUMBER, this.clickNumber); - jo.put(ATTR_USE_NUMBER, this.useNumber); - jo.put(ATTR_TIME, DateTime.now().toString(SIMPLE_DATE_PATTERN)); - return jo.toString(); - } - - - @Override - public void readXML(XMLableReader reader) { - if (reader.isAttr()) { - String name = reader.getTagName(); - if (XML_TAG.equals(name)) { - this.clickNumber = reader.getAttrAsInt(ATTR_CLICK_NUMBER, 0); - this.useNumber = reader.getAttrAsInt(ATTR_USE_NUMBER, 0); - } - } - } - - @Override - public void writeXML(XMLPrintWriter writer) { - writer.startTAG(XML_TAG); - writer.attr(ATTR_CLICK_NUMBER, this.clickNumber).attr(ATTR_USE_NUMBER, this.useNumber); - writer.end(); - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleBlock.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleBlock.java deleted file mode 100644 index 18a7e2c49..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleBlock.java +++ /dev/null @@ -1,141 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - -import com.fr.base.BaseUtils; -import com.fr.base.GraphHelper; -import com.fr.config.predefined.PredefinedStyle; -import com.fr.design.mainframe.predefined.ui.dialog.PredefinedStyleEditDialog; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.predefined.ui.preview.PredefinedStylePreviewPane; -import com.fr.general.ComparatorUtils; -import com.fr.general.IOUtils; -import com.fr.stable.Constants; - -import javax.swing.BorderFactory; -import javax.swing.Icon; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Graphics; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -/** - * Created by kerry on 2020-08-25 - */ -public class PredefinedStyleBlock extends JPanel { - private PredefinedStyle previewObject; - private PredefinedStyleSelectPane parentPane; - private Icon markedMode = IOUtils.readIcon("/com/fr/design/form/images/marked.png"); - private static final Color BORDER_COLOR = new Color(141, 194, 249); - - private boolean mouseOver = false; - - private MouseListener mouseListener = new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - setSelect(); - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - - } - - @Override - public void mouseEntered(MouseEvent e) { - mouseOver = true; - PredefinedStyleBlock.this.repaint(); - } - - @Override - public void mouseExited(MouseEvent e) { - mouseOver = false; - PredefinedStyleBlock.this.repaint(); - } - }; - - - public PredefinedStyleBlock(PredefinedStyle previewObject, PredefinedStyleSelectPane selectPane, boolean supportEdit) { - this.previewObject = previewObject; - this.parentPane = selectPane; - initPane(supportEdit); - this.addMouseListener(mouseListener); - } - - private void setSelect() { - this.parentPane.setSelectedPreviewPane(this); - } - - @Override - public void paint(Graphics g) { - super.paint(g); - boolean isSelected = ComparatorUtils.equals(this, this.parentPane.getSelectedPreviewPane()); - if (ComparatorUtils.equals(this.parentPane.getCurrentApplicateStyle(), this.previewObject.getStyleName())) { - markedMode.paintIcon(this, g, 176, 0); - } - if (isSelected || this.mouseOver) { - g.setColor(BORDER_COLOR); - Rectangle rectangle = new Rectangle(1, 1, this.getWidth() - 2, this.getHeight() - 2); - GraphHelper.draw(g, rectangle, Constants.LINE_MEDIUM); - } - } - - - private void initPane(boolean supportEdit) { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - PredefinedStylePreviewPane content = new PredefinedStylePreviewPane(0.387, 0.384); - content.setPreferredSize(new Dimension(200, 125)); - UILabel label = new UILabel(previewObject.getStyleName()); - label.setPreferredSize(new Dimension(167, 25)); - - - JPanel panel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - panel.setBorder(BorderFactory.createEmptyBorder(0,9,2,5)); - panel.add(label, BorderLayout.WEST); - if (supportEdit) { - addEditButton(panel); - } - - this.add(content, BorderLayout.CENTER); - this.add(panel, BorderLayout.SOUTH); - this.setPreferredSize(new Dimension(200, 150)); - panel.setBackground(Color.WHITE); - this.setBackground(Color.WHITE); - content.refresh(this.previewObject); - - } - - private void addEditButton(JPanel panel) { - UIButton editButton = new UIButton(BaseUtils.readIcon("/com/fr/design/icon/icon_edit.png")); - editButton.setPreferredSize(new Dimension(24, 24)); - editButton.setBorderPainted(false); - editButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - PredefinedStyleEditPane editPane = PredefinedStyleEditPane.createEditPane(parentPane); - PredefinedStyleEditDialog editDialog = new PredefinedStyleEditDialog( - SwingUtilities.getWindowAncestor(PredefinedStyleBlock.this), editPane, previewObject.isBuiltIn()); - editPane.populate(PredefinedStyleBlock.this.previewObject); - editDialog.setVisible(true); - } - }); - panel.add(editButton, BorderLayout.EAST); - - } - - public PredefinedStyle update() { - return this.previewObject; - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleEditPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleEditPane.java deleted file mode 100644 index ef7644f71..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleEditPane.java +++ /dev/null @@ -1,272 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - -import com.fr.config.ServerPreferenceConfig; -import com.fr.config.predefined.PredefinedStyle; -import com.fr.config.predefined.PredefinedStyleConfig; -import com.fr.design.dialog.FineJOptionPane; -import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.frpane.UITabbedPane; -import com.fr.design.gui.icontainer.UIScrollPane; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.predefined.ui.detail.CellStyleSettingPane; -import com.fr.design.mainframe.predefined.ui.detail.ChartStyleSettingPane; -import com.fr.design.mainframe.predefined.ui.detail.ColorFillStylePane; -import com.fr.design.mainframe.predefined.ui.detail.ComponentStyleSettingPane; -import com.fr.design.mainframe.predefined.ui.detail.PredefinedBackgroundSettingPane; -import com.fr.design.mainframe.predefined.ui.preview.PredefinedStylePreviewPane; -import com.fr.design.utils.DesignUtils; -import com.fr.log.FineLoggerFactory; -import com.fr.stable.StringUtils; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Dimension; - -/** - * Created by kerry on 2020-08-26 - */ -public class PredefinedStyleEditPane extends AbstractAttrNoScrollPane { - private PredefinedStylePreviewPane previewPane; - private UITextField styleNameField; - private PredefinedBackgroundSettingPane backgroundSettingPane; - private CellStyleSettingPane cellStyleSettingPane; - private ComponentStyleSettingPane componentStyleSettingPane; - private ChartStyleSettingPane chartStyleSettingPane; - private PredefinedStyleSelectPane selectPane; - private ColorFillStylePane colorFillStylePane; - private boolean isPopulating = false; - private UITabbedPane uiTabbedPane; - - @Override - protected JPanel createContentPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.add(createLeftPane(), BorderLayout.WEST); - jPanel.add(createRightPane(), BorderLayout.CENTER); - - this.addAttributeChangeListener(new AttributeChangeListener() { - @Override - public void attributeChange() { - if (!isPopulating) { - valueChangeAction(); - } - } - }); - return jPanel; - } - - public void valueChangeAction() { - boolean displayFormBackground = backgroundSettingPane.currentFormBackground() || uiTabbedPane.getSelectedIndex() == 3; - previewPane.refresh(this.update(), displayFormBackground); - } - - @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Style_Edit"); - } - - private PredefinedStyleEditPane(PredefinedStyleSelectPane selectPane, boolean newEditPane) { - this.selectPane = selectPane; - this.styleNameField.setEnabled(newEditPane); - } - - public static PredefinedStyleEditPane createEditPane(PredefinedStyleSelectPane selectPane) { - return new PredefinedStyleEditPane(selectPane, false); - } - - public static PredefinedStyleEditPane createNewEditPane(PredefinedStyleSelectPane selectPane) { - return new PredefinedStyleEditPane(selectPane, true); - } - - - private JPanel createLeftPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel titlePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Overall_Preview")); - previewPane = new PredefinedStylePreviewPane(); - previewPane.setPreferredSize(new Dimension(517, 320)); - - titlePane.add(previewPane); - jPanel.add(titlePane, BorderLayout.CENTER); - return jPanel; - } - - private JPanel createRightPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel styleNamePane = createStyleNamePane(); - jPanel.add(styleNamePane, BorderLayout.NORTH); - - JPanel basicSettingPane = createBasicSettingPane(); - jPanel.add(basicSettingPane, BorderLayout.CENTER); - - JPanel customDetailPane = createCustomDetailPane(); - jPanel.add(customDetailPane, BorderLayout.SOUTH); - return jPanel; - } - - private JPanel createStyleNamePane() { - JPanel jPanel = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(5, 26, 8); - jPanel.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Style_Name"))); - this.styleNameField = new UITextField(); - this.styleNameField.setPreferredSize(new Dimension(160, 20)); - jPanel.add(this.styleNameField); - return jPanel; - } - - private JPanel createBasicSettingPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel titlePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Basic_Setting")); - JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - colorFillStylePane = new ColorFillStylePane(); - contentPane.add(colorFillStylePane); - titlePane.add(contentPane); - jPanel.add(titlePane, BorderLayout.CENTER); - titlePane.setSize(new Dimension(348, 157)); - return jPanel; - } - - private JPanel createCustomDetailPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel titlePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Custom_Detail")); - titlePane.setLayout(FRGUIPaneFactory.createLeftZeroLayout()); - jPanel.add(titlePane, BorderLayout.CENTER); - uiTabbedPane = new UITabbedPane(); - uiTabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Template_Background"), createTemplateBackgroundSettingPane()); - uiTabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Cell_Style"), createCellStyleSettingPane()); - uiTabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Chart_Style"), createChartStyleSettingPane()); - uiTabbedPane.addTab(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Component_Style"), createComponentStyleSettingPane()); - uiTabbedPane.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - valueChangeAction(); - } - }); - titlePane.add(uiTabbedPane); - uiTabbedPane.setPreferredSize(new Dimension(323, 298)); - titlePane.setPreferredSize(new Dimension(333, 320)); - return jPanel; - } - - - private JPanel createTemplateBackgroundSettingPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5)); - this.backgroundSettingPane = new PredefinedBackgroundSettingPane(); - jPanel.setPreferredSize(new Dimension(309, 248)); - UIScrollPane scrollPane = new UIScrollPane(this.backgroundSettingPane); - scrollPane.setBorder(BorderFactory.createEmptyBorder()); - jPanel.add(new UIScrollPane(this.backgroundSettingPane)); - return jPanel; - } - - private JPanel createCellStyleSettingPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 5)); - this.cellStyleSettingPane = new CellStyleSettingPane(this); - jPanel.add(this.cellStyleSettingPane); - return jPanel; - } - - - private JPanel createChartStyleSettingPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5)); - this.chartStyleSettingPane = new ChartStyleSettingPane(); - jPanel.add(this.chartStyleSettingPane); - return jPanel; - } - - - private JPanel createComponentStyleSettingPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.setBorder(BorderFactory.createEmptyBorder(10, 5, 10, 5)); - this.componentStyleSettingPane = new ComponentStyleSettingPane(); - jPanel.add(this.componentStyleSettingPane); - return jPanel; - } - - - public void populate(PredefinedStyle previewObject) { - isPopulating = true; - styleNameField.setText(previewObject.getStyleName()); - this.backgroundSettingPane.populateBean(previewObject.getPredefinedBackground()); - this.cellStyleSettingPane.populateBean(previewObject.getCellStyleConfig()); - this.componentStyleSettingPane.populateBean(previewObject.getComponentStyle()); - this.colorFillStylePane.populateBean(previewObject.getPredefinedColorStyle()); - this.chartStyleSettingPane.populateBean(previewObject.getPredefinedChartStyle()); - previewPane.refresh(previewObject); - isPopulating = false; - } - - public PredefinedStyle update() { - PredefinedStyle predefinedStyle = new PredefinedStyle(); - predefinedStyle.setStyleName(this.styleNameField.getText()); - predefinedStyle.setCellStyleConfig(this.cellStyleSettingPane.updateBean()); - predefinedStyle.setPredefinedBackground(this.backgroundSettingPane.updateBean()); - predefinedStyle.setComponentStyle(this.componentStyleSettingPane.updateBean()); - predefinedStyle.setPredefinedColorStyle(this.colorFillStylePane.update()); - predefinedStyle.setPredefinedChartStyle(this.chartStyleSettingPane.updateBean()); - return predefinedStyle; - } - - public boolean saveStyle() { - PredefinedStyle previewObject = null; - try { - previewObject = update(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - if (this.styleNameField.isEnabled() && !validateRepeat(previewObject.getStyleName())) { - return false; - } - if (!saveStyle(previewObject)) { - return false; - } - DesignUtils.refreshDesignerFrame(); - return true; - } - - public boolean saveStyle(PredefinedStyle previewObject) { - PredefinedStyleConfig config = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig(); - if (StringUtils.isEmpty(previewObject.getStyleName())) { - FineJOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(PredefinedStyleEditPane.this), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Name_Cannot_Empty")); - - return false; - } - config.put(previewObject.getStyleName(), previewObject); - ServerPreferenceConfig.getInstance().setPreferenceStyleConfig(config); - selectPane.refreshPane(); - return true; - } - - public void saveAsNewStyle(String styleName) { - PredefinedStyle previewObject = null; - try { - previewObject = update(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - previewObject.setStyleName(styleName); - if (validateRepeat(styleName)){ - saveStyle(previewObject); - } - } - - private boolean validateRepeat(String styleName){ - PredefinedStyleConfig config = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig(); - if (config.getStyle(styleName) != null) { - FineJOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(PredefinedStyleEditPane.this), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Predefined_Name_Repeat")); - - return false; - } - return true; - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSelectPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSelectPane.java deleted file mode 100644 index 26b92907a..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSelectPane.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - -import com.fr.config.predefined.PredefinedStyle; -import com.fr.config.ServerPreferenceConfig; -import com.fr.design.dialog.BasicPane; -import com.fr.design.event.ChangeListener; -import com.fr.design.gui.icontainer.UIScrollPane; -import com.fr.design.layout.FRGUIPaneFactory; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.util.Iterator; - -/** - * Created by kerry on 2020-08-26 - */ -public class PredefinedStyleSelectPane extends BasicPane { - private PredefinedStyleBlock selectedBlock; - private boolean editable; - private JPanel contentPane; - private String currentApplicateStyle; - private ChangeListener changeListener; - - - public PredefinedStyleSelectPane(String currentApplicateStyle, boolean editable) { - this.editable = editable; - this.currentApplicateStyle = currentApplicateStyle; - initPane(); - } - - public void registerChangeListener(ChangeListener changeListener) { - this.changeListener = changeListener; - - } - - - private void initPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - contentPane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(5, 8); - createContentPane(); - UIScrollPane scrollPane = new UIScrollPane(contentPane); - scrollPane.setPreferredSize(new Dimension(630, 480)); - scrollPane.setBorder(BorderFactory.createEmptyBorder()); - this.add(scrollPane, BorderLayout.CENTER); - } - - - public void createContentPane() { - contentPane.removeAll(); - Iterator iterator = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig().getPredefinedStyleIterator(); - int rowCount = (ServerPreferenceConfig.getInstance().getPreferenceStyleConfig().getPredefinedSize() +2)/ 3; - contentPane.setPreferredSize(new Dimension(618, 157 * rowCount)); - while (iterator.hasNext()) { - PredefinedStyle tmpStyle = iterator.next(); - - if (tmpStyle != null) { - PredefinedStyleBlock tmpPanel = - new PredefinedStyleBlock(tmpStyle, this, this.editable); - contentPane.add(tmpPanel); - } - } - } - - - public String getCurrentApplicateStyle() { - return currentApplicateStyle; - } - - public void refreshPane() { - createContentPane(); - this.validate(); - this.repaint(); - } - - @Override - protected String title4PopupWindow() { - return null; - } - - public void setSelectedPreviewPane(PredefinedStyleBlock selectedPreviewPane) { - this.selectedBlock = selectedPreviewPane; - if (changeListener != null) { - changeListener.fireChanged(null); - } - this.repaint(); - } - - public PredefinedStyleBlock getSelectedPreviewPane() { - return selectedBlock; - } - - public PredefinedStyle update() { - if (this.selectedBlock == null){ - return null; - } - return this.selectedBlock.update(); - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSettingPane.java deleted file mode 100644 index 758f8e013..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/PredefinedStyleSettingPane.java +++ /dev/null @@ -1,152 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - -import com.fr.config.predefined.PredefinedNameStyleProvider; -import com.fr.design.file.HistoryTemplateListCache; -import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.ibutton.UIRadioButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.JTemplate; -import com.fr.design.mainframe.predefined.ui.preview.StyleSettingPreviewPane; - -import javax.swing.ButtonGroup; -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * Created by kerry on 2020-09-02 - */ -public abstract class PredefinedStyleSettingPane extends AbstractAttrNoScrollPane { - protected StyleSettingPreviewPane previewPane; - protected UIRadioButton predefinedRadioBtn; - private UIRadioButton customRadioBtn; - private JPanel customDetailPane; - private JPanel predefinedSettingPane; - private CardLayout tabbedPane; - private JPanel center; - private boolean isPopulating = false; - - - public void setPopulating(boolean populating) { - isPopulating = populating; - } - - protected void initContentPane() { - leftContentPane = createContentPane(); - this.add(leftContentPane, BorderLayout.CENTER); - } - - @Override - protected JPanel createContentPane() { - JPanel contentPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - previewPane = createPreviewPane(); - JPanel previewTitlePane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preview")); - if (previewPane != null) { - previewTitlePane.setPreferredSize(new Dimension(407, 527)); - previewTitlePane.add(previewPane); - contentPane.add(previewTitlePane, BorderLayout.WEST); - } - - customDetailPane = createCustomDetailPane(); - predefinedSettingPane = createPredefinedSettingPane(); - - JPanel centerPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel jPanel = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(10, 20, 10); - jPanel.add(new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style"))); - predefinedRadioBtn = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Predefined")); - customRadioBtn = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom")); - - tabbedPane = new CardLayout(); - center = new JPanel(tabbedPane); - center.add(predefinedSettingPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Predefined")); - center.add(customDetailPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom")); - predefinedRadioBtn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Predefined")); - } - }); - customRadioBtn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom")); - } - }); - jPanel.add(predefinedRadioBtn); - jPanel.add(customRadioBtn); - - ButtonGroup layoutBG = new ButtonGroup(); - layoutBG.add(predefinedRadioBtn); - layoutBG.add(customRadioBtn); - centerPane.add(jPanel, BorderLayout.NORTH); - centerPane.add(center, BorderLayout.CENTER); - contentPane.add(centerPane, BorderLayout.CENTER); - this.addAttributeChangeListener(new AttributeChangeListener() { - @Override - public void attributeChange() { - if (isPopulating) { - return; - } - if (previewPane != null) { - previewPane.refresh(); - } - } - }); - return contentPane; - } - - - protected abstract StyleSettingPreviewPane createPreviewPane(); - - protected abstract JPanel createCustomDetailPane(); - - protected JPanel createPredefinedSettingPane() { - return new JPanel(); - } - - protected void populate(PredefinedNameStyleProvider nameStyle) { - this.predefinedRadioBtn.setSelected(nameStyle.usePredefinedStyle()); - this.customRadioBtn.setSelected(!nameStyle.usePredefinedStyle()); - if (nameStyle.usePredefinedStyle()) { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preference_Predefined")); - } else { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Custom")); - } - - } - - protected String getPredefinedStyleName() { - JTemplate template = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); - return template.getTemplatePredefinedStyle(); - } - - /** - * 展示数据 - * - * @param ob 待展示的对象 - */ - public abstract void populateBean(T ob); - - /** - * 保存数据 - * - * @return 待保存的对象 - */ - public abstract T updateBean(); - - /** - * 保存数据 - * - * @param ob 待保存的对象 - */ - public void updateBean(T ob) { - - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ReportPredefinedStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ReportPredefinedStylePane.java deleted file mode 100644 index 4f2c8b603..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ReportPredefinedStylePane.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - -import com.fr.config.predefined.PredefinedStyle; -import com.fr.design.dialog.BasicPane; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.JTemplate; - -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.FlowLayout; - -/** - * Created by kerry on 2020-08-28 - */ -public class ReportPredefinedStylePane extends BasicPane { - private PredefinedStyleSelectPane selectPane; - private JTemplate currentTemplate; - private UIButton preferenceBtn; - - public ReportPredefinedStylePane(JTemplate jTemplate, UIButton preferenceButton) { - this.currentTemplate = jTemplate; - this.preferenceBtn = preferenceButton; - initPane(); - } - - private void initPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel jPanel = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Style_Select")); - jPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); - JPanel subPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - this.selectPane = new PredefinedStyleSelectPane(currentTemplate.getTemplatePredefinedStyle(), false); - subPanel.add(this.selectPane, BorderLayout.CENTER); - jPanel.add(subPanel, BorderLayout.CENTER); - this.add(jPanel, BorderLayout.CENTER); - } - - public void update() { - PredefinedStyle style = selectPane.update(); - if (style != null) { - currentTemplate.resetPredefinedStyle(style.getStyleName(), preferenceBtn); - } - } - - public void refresh() { - this.selectPane.refreshPane(); - } - - @Override - protected String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Template_Style"); - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ServerPredefinedStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ServerPredefinedStylePane.java deleted file mode 100644 index 90b013e0e..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/ServerPredefinedStylePane.java +++ /dev/null @@ -1,206 +0,0 @@ -package com.fr.design.mainframe.predefined.ui; - - -import com.fr.base.BaseUtils; -import com.fr.config.predefined.PredefinedStyle; -import com.fr.config.predefined.PredefinedStyleConfig; -import com.fr.config.ServerPreferenceConfig; -import com.fr.design.actions.UpdateAction; -import com.fr.design.event.ChangeEvent; -import com.fr.design.event.ChangeListener; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.mainframe.predefined.PatternStyle; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.FineJOptionPane; -import com.fr.design.gui.itoolbar.UIToolbar; -import com.fr.design.i18n.Toolkit; -import com.fr.design.icon.IconPathConstants; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.predefined.ui.dialog.PredefinedStyleEditDialog; -import com.fr.design.menu.MenuDef; -import com.fr.design.menu.ToolBarDef; -import com.fr.design.utils.DesignUtils; -import com.fr.stable.StringUtils; - -import javax.swing.BorderFactory; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JSeparator; -import javax.swing.SwingUtilities; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -/** - * Created by kerry on 2020-08-25 - */ -public class ServerPredefinedStylePane extends BasicPane { - - private static final Color TIP_COLOR = Color.decode("#8F8F92"); - private RemoveAction removeAction; - - private PredefinedStyleSelectPane selectPane; - - - public ServerPredefinedStylePane() { - initPane(); - } - - private void initPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - JPanel jPanel = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Style_Manager")); - jPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); - jPanel.setLayout(FRGUIPaneFactory.createLeftZeroLayout()); - JPanel subPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - subPanel.add(createControlPane(), BorderLayout.NORTH); - PredefinedStyle style = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig().getDefaultPredefinedStyle(); - - this.selectPane = new PredefinedStyleSelectPane(style == null ? StringUtils.EMPTY : style.getStyleName(), true); - this.selectPane.registerChangeListener(new ChangeListener() { - @Override - public void fireChanged(ChangeEvent event) { - PredefinedStyle selectStyle = selectPane.getSelectedPreviewPane().update(); - removeAction.setEnabled(!selectStyle.isBuiltIn()); - } - }); - this.selectPane.addMouseListener(new MouseListener() { - @Override - public void mouseClicked(MouseEvent e) { - if (selectPane.getSelectedPreviewPane() != null) { - removeAction.setEnabled(true); - } - } - - @Override - public void mousePressed(MouseEvent e) { - - } - - @Override - public void mouseReleased(MouseEvent e) { - - } - - @Override - public void mouseEntered(MouseEvent e) { - - } - - @Override - public void mouseExited(MouseEvent e) { - - } - }); - JSeparator jSeparator = new JSeparator(); - subPanel.add(jSeparator, BorderLayout.CENTER); - subPanel.add(this.selectPane, BorderLayout.SOUTH); - jPanel.add(subPanel); - this.add(jPanel, BorderLayout.CENTER); - this.repaint(); - } - - - private JPanel createControlPane() { - MenuDef addMenuDef = new MenuDef(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Action_Add")); - addMenuDef.setIconPath(IconPathConstants.ADD_POPMENU_ICON_PATH); - createAddMenuDef(addMenuDef); - ToolBarDef toolbarDef = new ToolBarDef(); - removeAction = new RemoveAction(); - removeAction.setEnabled(false); - toolbarDef.addShortCut(addMenuDef, removeAction); - UIToolbar toolBar = ToolBarDef.createJToolBar(); - toolBar.setBorder(BorderFactory.createEmptyBorder(0, 0, 10, 0)); - toolbarDef.updateToolBar(toolBar); - JPanel toolbarPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); - toolbarPane.add(toolBar, BorderLayout.CENTER); - UILabel tipLabel = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Style_Manager_Tip")); - tipLabel.setForeground(TIP_COLOR); - tipLabel.setHorizontalTextPosition(UILabel.RIGHT); - toolbarPane.add(tipLabel, BorderLayout.EAST); - toolbarPane.setPreferredSize(new Dimension(620, 30)); - return toolbarPane; - } - - private void createAddMenuDef(MenuDef addMenuDef) { - addMenuDef.setRePaint(true); - addMenuDef.addShortCut(new CreateStyleAction(PatternStyle.DARK_STYLE)); - addMenuDef.addShortCut(new CreateStyleAction(PatternStyle.LIGHT_STYLE)); - - } - - - public void update() { - PredefinedStyle style = selectPane.update(); - if (style != null) { - PredefinedStyleConfig config = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig(); - config.setDefaultPredefinedStyle(style.getStyleName()); - ServerPreferenceConfig.getInstance().setPreferenceStyleConfig(config); - DesignUtils.refreshDesignerFrame(); - } - - } - - - @Override - protected String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Server_Style"); - } - - private class RemoveAction extends UpdateAction { - - public RemoveAction() { - this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Remove")); - this.setMnemonic('R'); - this.setSmallIcon(BaseUtils.readIcon(IconPathConstants.TD_REMOVE_ICON_PATH)); - } - - @Override - public void actionPerformed(ActionEvent e) { - PredefinedStyle previewObject = ServerPredefinedStylePane.this.selectPane.update(); - int selVal = FineJOptionPane.showConfirmDialog(SwingUtilities.getWindowAncestor(ServerPredefinedStylePane.this), - Toolkit.i18nText("Fine-Design_Predefined_Remove_Style_Confirm", previewObject.getStyleName()), - Toolkit.i18nText("Fine-Design_Basic_Delete"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); - if (selVal == JOptionPane.YES_OPTION) { - removeStyle(previewObject.getStyleName()); - ServerPredefinedStylePane.this.selectPane.refreshPane(); - } - } - } - - - private class CreateStyleAction extends UpdateAction { - private PatternStyle style; - - public CreateStyleAction(PatternStyle style) { - this.style = style; - this.setName(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Create_Parttern_Style") + style.getName()); - this.setMnemonic('R'); - } - - @Override - public void actionPerformed(ActionEvent e) { - createNewPatternStylePane(); - } - - private void createNewPatternStylePane() { - PredefinedStyleEditPane editPane = PredefinedStyleEditPane.createNewEditPane(selectPane); - PredefinedStyleEditDialog editDialog = new PredefinedStyleEditDialog( - SwingUtilities.getWindowAncestor(ServerPredefinedStylePane.this), editPane); - editPane.populate(style.getPredefinedStyle()); - editDialog.setVisible(true); - } - } - - - private void removeStyle(String name) { - PredefinedStyleConfig config = ServerPreferenceConfig.getInstance().getPreferenceStyleConfig(); - config.removeStyle(name); - ServerPreferenceConfig.getInstance().setPreferenceStyleConfig(config); - DesignUtils.refreshDesignerFrame(); - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/CellStyleSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/CellStyleSettingPane.java deleted file mode 100644 index e16decd24..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/CellStyleSettingPane.java +++ /dev/null @@ -1,332 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail; - -import com.fr.base.BaseUtils; -import com.fr.base.Style; -import com.fr.config.predefined.PredefinedCellStyle; -import com.fr.config.predefined.PredefinedCellStyleConfig; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.dialog.FineJOptionPane; -import com.fr.design.gui.NameInspector; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.ilist.JNameEdList; -import com.fr.design.gui.ilist.ListModelElement; -import com.fr.design.gui.ilist.ModNameActionListener; -import com.fr.design.i18n.Toolkit; -import com.fr.design.icon.IconPathConstants; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.predefined.ui.PredefinedStyleEditPane; -import com.fr.design.mainframe.predefined.ui.detail.cell.CustomPredefinedStylePane; -import com.fr.general.ComparatorUtils; -import com.fr.general.NameObject; -import com.fr.report.cell.DefaultTemplateCellElement; -import com.fr.report.cell.TemplateCellElement; -import com.fr.report.core.PaintUtils; -import com.fr.stable.Constants; -import com.fr.stable.Nameable; -import com.fr.stable.StringUtils; - -import javax.swing.DefaultListModel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Dimension; -import java.awt.FlowLayout; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -/** - * Created by kerry on 2020-09-01 - */ -public class CellStyleSettingPane extends BasicBeanPane { - - private StyleListPane styleListPane; - private List customStylePaneList = new ArrayList<>(); - private CardLayout cardLayout; - private JPanel centerPane; - private PredefinedStyleEditPane editPane; - private CellStylePreviewPane previewPane; - private UIButton removeBtn; - - public CellStyleSettingPane(PredefinedStyleEditPane editPane) { - this.editPane = editPane; - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.add(createLeftPane(), BorderLayout.WEST); - this.add(createCenterPane(), BorderLayout.CENTER); - } - - private JPanel createLeftPane() { - JPanel panel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - panel.setPreferredSize(new Dimension(80, 267)); - panel.add(createToolPane(), BorderLayout.NORTH); - panel.add(createStyleListPane(), BorderLayout.CENTER); - return panel; - } - - private JPanel createToolPane() { - JPanel panel = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane(); - UIButton addBtn = new UIButton(BaseUtils.readIcon(IconPathConstants.ADD_POPMENU_ICON_PATH)); - addBtn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - styleListPane.addNewStyle(); - } - }); - addBtn.setBorderPainted(false); - panel.add(addBtn); - removeBtn = new UIButton(BaseUtils.readIcon(IconPathConstants.TD_REMOVE_ICON_PATH)); - removeBtn.setBorderPainted(false); - removeBtn.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - styleListPane.removeStyle(); - } - }); - panel.add(removeBtn); - return panel; - } - - private JPanel createStyleListPane() { - JPanel jPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - jPanel.setPreferredSize(new Dimension(80, 249)); - styleListPane = new StyleListPane(); - jPanel.add(styleListPane); - return jPanel; - } - - private JPanel createCenterPane() { - JPanel panel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel titlePreviewPane = FRGUIPaneFactory.createTitledBorderPane(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Preview")); - titlePreviewPane.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); - previewPane = new CellStylePreviewPane(); - previewPane.setPreferredSize(new Dimension(100, 20)); - titlePreviewPane.setPreferredSize(new Dimension(230, 45)); - titlePreviewPane.add(previewPane); - panel.add(titlePreviewPane, BorderLayout.NORTH); - cardLayout = new CardLayout(); - centerPane = new JPanel(cardLayout); - panel.add(centerPane, BorderLayout.CENTER); - - return panel; - } - - - @Override - public void populateBean(PredefinedCellStyleConfig ob) { - styleListPane.populate(ob); - } - - @Override - public PredefinedCellStyleConfig updateBean() { - return styleListPane.update(); - } - - @Override - protected String title4PopupWindow() { - return null; - } - - class StyleListPane extends JPanel { - private DefaultListModel defaultListModel; - private JNameEdList styleList; - - public StyleListPane() { - defaultListModel = new DefaultListModel(); - styleList = new JNameEdList(defaultListModel) { - public Rectangle createRect(Rectangle rect, int iconWidth) { - return new Rectangle(rect.x, rect.y, rect.width, rect.height); - } - - }; - styleList.setEditable(true); - styleList.addModNameActionListener(new ModNameActionListener() { - public void nameModed(int index, String oldName, String newName) { - if (ComparatorUtils.equals(oldName, newName) || ComparatorUtils.equals(newName, NameInspector.ILLEGAL_NAME_HOLDER)) { - return; - } - String[] allNames = styleList.getAllNames(); - allNames[index] = StringUtils.EMPTY; - if (StringUtils.isEmpty(newName)) { - showTipDialogAndReset(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Empty_Name"), index); - return; - } - if (isNameRepeated(new List[]{Arrays.asList(allNames)}, newName)) { - showTipDialogAndReset(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Duplicate_Name", newName), index); - styleList.setNameAt("请重新命名", index); - return; - } - styleList.repaint(); - - } - }); - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.add(styleList, BorderLayout.CENTER); - - styleList.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - int selectIndex = styleList.getSelectedIndex(); - Object nameable = styleList.getType(selectIndex); - if (nameable == null) { - return; - } - PredefinedCellStyle cellStyle = ((PredefinedCellStyle) nameable); - cardLayout.show(centerPane, styleList.getNameAt(selectIndex)); - styleList.stopEditing(); - removeBtn.setEnabled(!cellStyle.isBuiltIn()); - if (!validateCouldRename(cellStyle)) { - return; - } - if (e.getClickCount() >= 2 - && SwingUtilities.isLeftMouseButton(e)) { - styleList.editItemAt(styleList.getSelectedIndex()); - } - } - }); - } - - private boolean validateCouldRename(PredefinedCellStyle cellStyle) { - return !cellStyle.isBuiltIn(); - } - - - private void showTipDialogAndReset(String content, int index) { - styleList.stopEditing(); - - FineJOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(StyleListPane.this), - content, - Toolkit.i18nText("Fine-Design_Basic_Alert"), - JOptionPane.WARNING_MESSAGE); - } - - protected boolean isNameRepeated(java.util.List[] list, String name) { - for (int i = 0; i < list.length; i++) { - if (list[i].contains(name)) { - return true; - } - } - return false; - } - - - public void populate(PredefinedCellStyleConfig ob) { - Iterator iterator = ob.getAllStyles().values().iterator(); - while (iterator.hasNext()) { - PredefinedCellStyle entry = iterator.next(); - addStyle(entry); - - } - reset(); - - } - - private void reset() { - if (defaultListModel.getSize() > 0) { - styleList.setSelectedIndex(0); - removeBtn.setEnabled(false); - cardLayout.show(centerPane, styleList.getNameAt(0)); - centerPane.validate(); - Object nameable = styleList.getType(0); - if (nameable == null) { - return; - } - PredefinedCellStyle cellStyle = ((PredefinedCellStyle) nameable); - previewPane.refresh(cellStyle.getStyle()); - } - } - - public PredefinedCellStyleConfig update() { - PredefinedCellStyleConfig config = new PredefinedCellStyleConfig(); - for (int i = 0; i < defaultListModel.getSize(); i++) { - String name = styleList.getNameAt(i); - Style style = customStylePaneList.get(i).updateBean(); - config.addStyle(new PredefinedCellStyle(name, style)); - } - return config; - } - - public void addNewStyle() { - String newStyleName = com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Cell_New_Style"); - if (isNameRepeated(new List[]{Arrays.asList(styleList.getAllNames())}, - newStyleName)) { - showTipDialogAndReset(Toolkit.i18nText("Fine-Design_Basic_Predefined_Style_Duplicate_Name", newStyleName), 0); - return; - } - PredefinedCellStyle cellStyle = new PredefinedCellStyle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Cell_New_Style"), Style.getInstance()); - addStyle(cellStyle); - } - - public void addStyle(PredefinedCellStyle cellStyle) { - ListModelElement el = new ListCellStyleModelElement(new NameObject(cellStyle.getName(), cellStyle)); - defaultListModel.addElement(el); - CustomPredefinedStylePane customPredefinedStylePane = new CustomPredefinedStylePane(); - customPredefinedStylePane.populateBean(cellStyle.getStyle()); - customPredefinedStylePane.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - previewPane.refresh(customPredefinedStylePane.updateBean()); - editPane.valueChangeAction(); - } - }); - centerPane.add(customPredefinedStylePane, cellStyle.getName()); - customStylePaneList.add(customPredefinedStylePane); - } - - public void removeStyle() { - int selectIndex = styleList.getSelectedIndex(); - defaultListModel.remove(selectIndex); - centerPane.remove(customStylePaneList.get(selectIndex)); - customStylePaneList.remove(selectIndex); - reset(); - } - } - - class ListCellStyleModelElement extends com.fr.design.gui.ilist.ListModelElement { - private Nameable nameable; - - public ListCellStyleModelElement(Nameable nameable) { - super(nameable); - this.nameable = nameable; - } - - @Override - public String toString() { - return this.nameable.getName(); - } - } - - class CellStylePreviewPane extends JPanel { - private TemplateCellElement ce; - - public CellStylePreviewPane() { - ce = new DefaultTemplateCellElement(); - ce.setValue(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Predefined_Cell_Test_Word")); - } - - public void refresh(Style style) { - this.ce.setStyle(style); - this.repaint(); - } - - @Override - public void paint(Graphics g) { - Style.paintBackground((Graphics2D) g, ce.getStyle(), this.getWidth(), this.getHeight()); - Style.paintBorder((Graphics2D) g, ce.getStyle(), this.getWidth(), this.getHeight()); - PaintUtils.paintGridCellContent((Graphics2D) g, ce, this.getWidth(), this.getHeight(), Constants.FR_PAINT_RESOLUTION); - } - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ChartStyleSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ChartStyleSettingPane.java deleted file mode 100644 index 6eb155eb6..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ChartStyleSettingPane.java +++ /dev/null @@ -1,94 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail; - -import com.fr.config.predefined.PredefinedChartStyle; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.MultiTabPane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartAxisStylePane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartBackgroundStylePane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartDataSheetStylePane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartLabelStylePane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartLegendStylePane; -import com.fr.design.mainframe.predefined.ui.detail.chart.ChartTitleStylePane; - -import java.util.ArrayList; -import java.util.List; - -/** - * @author Bjorn - * @version 10.0 - * Created by Bjorn on 2020-09-16 - */ -public class ChartStyleSettingPane extends MultiTabPane { - - private ChartTitleStylePane chartTitleStylePane; - private ChartLegendStylePane chartLegendStylePane; - private ChartLabelStylePane chartLabelPane; - private ChartAxisStylePane chartAxisStylePane; - private ChartDataSheetStylePane chartDataSheetStylePane; - private ChartBackgroundStylePane chartBackgroundStylePane; - - public ChartStyleSettingPane() { - } - - @Override - protected void initLayout() { - super.initLayout(); - } - - @Override - protected List initPaneList() { - this.chartTitleStylePane = new ChartTitleStylePane(); - this.chartLegendStylePane = new ChartLegendStylePane(); - this.chartLabelPane = new ChartLabelStylePane(); - this.chartAxisStylePane = new ChartAxisStylePane(); - this.chartDataSheetStylePane = new ChartDataSheetStylePane(); - this.chartBackgroundStylePane = new ChartBackgroundStylePane(); - paneList = new ArrayList<>(); - paneList.add(this.chartTitleStylePane); - paneList.add(this.chartLegendStylePane); - paneList.add(this.chartLabelPane); - paneList.add(this.chartAxisStylePane); - paneList.add(this.chartDataSheetStylePane); - paneList.add(this.chartBackgroundStylePane); - return paneList; - } - - @Override - public void populateBean(PredefinedChartStyle ob) { - chartTitleStylePane.populate(ob); - chartLegendStylePane.populate(ob); - chartLabelPane.populate(ob); - chartAxisStylePane.populate(ob); - chartDataSheetStylePane.populate(ob); - chartBackgroundStylePane.populate(ob); - } - - @Override - public void updateBean(PredefinedChartStyle ob) { - - } - - - @Override - public PredefinedChartStyle updateBean() { - PredefinedChartStyle chartStyle = new PredefinedChartStyle(); - chartTitleStylePane.update(chartStyle); - chartLegendStylePane.update(chartStyle); - chartLabelPane.update(chartStyle); - chartAxisStylePane.update(chartStyle); - chartDataSheetStylePane.update(chartStyle); - chartBackgroundStylePane.update(chartStyle); - return chartStyle; - } - - - @Override - public boolean accept(Object ob) { - return false; - } - - @Override - public void reset() { - - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java deleted file mode 100644 index 9e2a0d5ef..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ColorFillStylePane.java +++ /dev/null @@ -1,292 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail; - -import com.fr.base.ChartColorMatching; -import com.fr.base.ChartPreStyleConfig; -import com.fr.base.Utils; -import com.fr.chart.base.ChartConstants; -import com.fr.config.predefined.ColorFillStyle; -import com.fr.config.predefined.PredefinedColorStyle; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.icombobox.ColorSchemeComboBox; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.i18n.Toolkit; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.background.gradient.FixedGradientBar; -import com.fr.design.style.color.ColorAdjustPane; -import com.fr.stable.StringUtils; - -import javax.swing.JPanel; -import java.util.Arrays; -import java.util.List; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * @author Bjorn - * @version 10.0 - * Created by Bjorn on 2020-09-15 - */ -public class ColorFillStylePane extends BasicBeanPane { - - private ColorSchemeComboBox styleSelectBox; - private JPanel customPane; - private JPanel changeColorSetPane; - private FixedGradientBar colorGradient; - - private CardLayout cardLayout; - - private ColorAdjustPane colorAdjustPane; - - private Color[] gradientColors; - private Color[] accColors; - - private boolean gradientSelect = false; - - public ColorFillStylePane() { - this.setLayout(new BorderLayout()); - - styleSelectBox = createColorSchemeComboBox(); - customPane = new JPanel(FRGUIPaneFactory.createBorderLayout()) { - @Override - public Dimension getPreferredSize() { - if (!customPane.isVisible()) { - return new Dimension(0, 0); - } - if (!gradientSelect) { - return colorAdjustPane.getPreferredSize(); - } - return colorGradient.getPreferredSize(); - } - }; - - changeColorSetPane = new JPanel(cardLayout = new CardLayout()); - changeColorSetPane.add(colorGradient = new FixedGradientBar(4, 130), "gradient"); - gradientColors = new Color[]{Color.WHITE, FixedGradientBar.NEW_CHARACTER}; - changeColorSetPane.add(colorAdjustPane = new ColorAdjustPane(), "acc"); - accColors = ColorAdjustPane.DEFAULT_COLORS; - cardLayout.show(changeColorSetPane, "acc"); - customPane.add(changeColorSetPane, BorderLayout.CENTER); - initListener(); - initLayout(); - - } - - public ColorSchemeComboBox getStyleSelectBox() { - return styleSelectBox; - } - - public JPanel getCustomPane() { - return customPane; - } - - protected ColorSchemeComboBox createColorSchemeComboBox() { - return new ColorSchemeComboBox(); - } - - private void initListener() { - colorAdjustPane.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - accColors = colorAdjustPane.getColors(); - if (styleSelectBox.getSelectType() != ColorSchemeComboBox.SelectType.COMBINATION_COLOR) { - styleSelectBox.setSelectType(ColorSchemeComboBox.SelectType.COMBINATION_COLOR); - } - ColorFillStylePane.this.revalidate(); - } - }); - colorGradient.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - gradientColors[0] = colorGradient.getSelectColorPointBtnP1().getColorInner(); - gradientColors[1] = colorGradient.getSelectColorPointBtnP2().getColorInner(); - if (styleSelectBox.getSelectType() != ColorSchemeComboBox.SelectType.GRADATION_COLOR) { - styleSelectBox.setSelectType(ColorSchemeComboBox.SelectType.GRADATION_COLOR); - } - } - }); - styleSelectBox.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - styleSelectBoxChange(); - } - }); - } - - protected void styleSelectBoxChange() { - switch (styleSelectBox.getSelectType()) { - case COMBINATION_COLOR: - colorAdjustPane.updateColor(accColors); - cardLayout.show(changeColorSetPane, "acc"); - gradientSelect = false; - break; - case GRADATION_COLOR: - colorGradient.updateColor(gradientColors[0], gradientColors[1]); - cardLayout.show(changeColorSetPane, "gradient"); - gradientSelect = true; - break; - default: - ColorSchemeComboBox.ColorInfo selectColorInfo = styleSelectBox.getSelectColorInfo(); - if (selectColorInfo == null) { - return; - } - if (selectColorInfo.isGradient()) { - colorGradient.updateColor(selectColorInfo.getColors().get(0), selectColorInfo.getColors().get(1)); - cardLayout.show(changeColorSetPane, "gradient"); - gradientSelect = true; - } else { - colorAdjustPane.updateColor(selectColorInfo.getColors().toArray(new Color[]{})); - cardLayout.show(changeColorSetPane, "acc"); - gradientSelect = false; - } - break; - } - ColorFillStylePane.this.revalidate(); - } - - protected void initLayout() { - this.setLayout(new BorderLayout()); - this.add(getContentPane(), BorderLayout.CENTER); - } - - protected JPanel getContentPane() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double e = 155; - double[] columnSize = {f, e}; - double[] rowSize = {p, p, p}; - - JPanel panel = TableLayoutHelper.createGapTableLayoutPane(contentPaneComponents(), rowSize, columnSize, 12, LayoutConstants.VGAP_LARGE); - return panel; - } - - protected Component[][] contentPaneComponents() { - return new Component[][]{ - new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Template_Color")), styleSelectBox}, - new Component[]{null, customPane}, - - }; - } - - @Override - protected String title4PopupWindow() { - return Toolkit.i18nText("Fine-Design_Chart_Color"); - } - - public void populateBean(PredefinedColorStyle predefinedColorStyle) { - populateBean(predefinedColorStyle.getColorFillStyle()); - } - - @Override - public void populateBean(ColorFillStyle colorFillStyle) { - String fillStyleName = colorFillStyle == null ? "" : colorFillStyle.getFillStyleName(); - if (StringUtils.isBlank(fillStyleName) || !styleSelectBox.getItems().contains(fillStyleName)) { - if (colorFillStyle == null || colorFillStyle.getColorStyle() == ChartConstants.COLOR_DEFAULT) { - styleSelectBox.setSelectType(ColorSchemeComboBox.SelectType.DEFAULT);//默认 - } else { - int colorStyle = colorFillStyle.getColorStyle(); - if (colorStyle == ChartConstants.COLOR_GRADIENT) { - gradientColors[0] = colorFillStyle.getColorList().get(0); - gradientColors[1] = colorFillStyle.getColorList().get(1); - styleSelectBox.setSelectType(ColorSchemeComboBox.SelectType.GRADATION_COLOR); - } else { - int colorSize = colorFillStyle.getColorList().size(); - accColors = new Color[colorSize]; - for (int i = 0; i < colorSize; i++) { - accColors[i] = colorFillStyle.getColorList().get(i); - } - styleSelectBox.setSelectType(ColorSchemeComboBox.SelectType.COMBINATION_COLOR); - } - } - } else { - styleSelectBox.setSelectedItem(fillStyleName); - } - } - - public PredefinedColorStyle update() { - PredefinedColorStyle predefinedColorStyle = new PredefinedColorStyle(); - predefinedColorStyle.setColorFillStyle(updateBean()); - return predefinedColorStyle; - } - - @Override - public ColorFillStyle updateBean() { - switch (styleSelectBox.getSelectType()) { - case COMBINATION_COLOR: - return updateCombinationColor(); - case GRADATION_COLOR: - return updateGradationColor(); - case DEFAULT: - return updateDefaultColor(); - default: - return updateNormalColor(); - } - } - - private ColorFillStyle updateCombinationColor() { - ColorFillStyle colorFillStyle = new ColorFillStyle(); - List colorList = colorFillStyle.getColorList(); - colorFillStyle.setColorStyle(ChartConstants.COLOR_ACC); - for (int i = 0, length = accColors.length; i < length; i++) { - colorList.add(accColors[i]); - } - colorFillStyle.setCustomFillStyle(true); - return colorFillStyle; - } - - private ColorFillStyle updateGradationColor() { - ColorFillStyle colorFillStyle = new ColorFillStyle(); - List colorList = colorFillStyle.getColorList(); - colorFillStyle.setColorStyle(ChartConstants.COLOR_GRADIENT); - Color start = gradientColors[0]; - Color end = gradientColors[1]; - colorList.add(start); - colorList.add(end); - colorFillStyle.setCustomFillStyle(true); - return colorFillStyle; - } - - private ColorFillStyle updateDefaultColor() { - ColorFillStyle colorFillStyle = new ColorFillStyle(); - colorFillStyle.setColorStyle(ChartConstants.COLOR_DEFAULT); - return colorFillStyle; - } - - private ColorFillStyle updateNormalColor() { - ChartPreStyleConfig manager = ChartPreStyleConfig.getInstance(); - Object preStyle = manager.getPreStyle(styleSelectBox.getSelectedItem()); - if (preStyle instanceof ChartColorMatching) { - ColorFillStyle colorFillStyle = new ColorFillStyle(); - ChartColorMatching chartColorMatching = (ChartColorMatching) preStyle; - colorFillStyle.setColorStyle(chartColorMatching.getGradient() ? ChartConstants.COLOR_GRADIENT : ChartConstants.COLOR_ACC); - List colorList = chartColorMatching.getColorList(); - if (colorList == null || colorList.size() == 0) { - colorList = Arrays.asList(ChartConstants.CHART_COLOR_ARRAY); - } - colorFillStyle.setColorList(colorList); - colorFillStyle.setFillStyleName(Utils.objectToString(styleSelectBox.getSelectedItem())); - return colorFillStyle; - } else { - return updateModifyColor(); - } - } - - private ColorFillStyle updateModifyColor() { - ColorFillStyle colorFillStyle = new ColorFillStyle(); - ColorSchemeComboBox.ColorInfo selectColorInfo = styleSelectBox.getSelectColorInfo(); - boolean isGradient = selectColorInfo.isGradient(); - List colors = selectColorInfo.getColors(); - colorFillStyle.setColorList(colors); - colorFillStyle.setCustomFillStyle(true); - colorFillStyle.setColorStyle(isGradient ? ChartConstants.COLOR_GRADIENT : ChartConstants.COLOR_ACC); - return colorFillStyle; - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ComponentStyleSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ComponentStyleSettingPane.java deleted file mode 100644 index 5a7ea8502..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/ComponentStyleSettingPane.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail; - -import com.fr.config.predefined.PredefinedComponentStyle; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.MultiTabPane; -import com.fr.design.mainframe.predefined.ui.detail.component.ComponentFrameStylePane; -import com.fr.design.mainframe.predefined.ui.detail.component.ComponentMarginStylePane; -import com.fr.design.mainframe.predefined.ui.detail.component.ComponentTitleStylePane; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by kerry on 2020-09-01 - */ -public class ComponentStyleSettingPane extends MultiTabPane { - private ComponentFrameStylePane frameStylePane; - private ComponentTitleStylePane titleStylePane; - private ComponentMarginStylePane marginStylePane; - - public ComponentStyleSettingPane() { - } - - - @Override - protected List initPaneList() { - this.frameStylePane = new ComponentFrameStylePane(); - this.titleStylePane = ComponentTitleStylePane.createPredefinedSettingPane(); - this.marginStylePane = new ComponentMarginStylePane(); - paneList = new ArrayList(); - paneList.add(this.frameStylePane); - paneList.add(this.titleStylePane); - paneList.add(this.marginStylePane); - return paneList; - } - - @Override - public void populateBean(PredefinedComponentStyle ob) { - this.frameStylePane.populate(ob); - this.titleStylePane.populate(ob); - this.marginStylePane.populate(ob); - } - - @Override - public void updateBean(PredefinedComponentStyle ob) { - - } - - - @Override - public PredefinedComponentStyle updateBean() { - PredefinedComponentStyle componentStyle = new PredefinedComponentStyle(); - this.frameStylePane.update(componentStyle); - this.titleStylePane.update(componentStyle); - this.marginStylePane.update(componentStyle); - return componentStyle; - } - - - @Override - public boolean accept(Object ob) { - return false; - } - - @Override - public void reset() { - - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/PredefinedBackgroundSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/PredefinedBackgroundSettingPane.java deleted file mode 100644 index 05b02a564..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/PredefinedBackgroundSettingPane.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail; - -import com.fr.config.predefined.PredefinedBackground; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.gui.ibutton.UIButtonGroup; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.predefined.ui.detail.background.BackgroundSettingPane; -import com.fr.design.mainframe.predefined.ui.detail.background.BackgroundWithAlphaSettingPane; - -import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * Created by kerry on 2020-08-31 - */ -public class PredefinedBackgroundSettingPane extends BasicBeanPane { - private UIButtonGroup buttonGroup; - private BackgroundSettingPane reportBackgroundSettingPane; - private BackgroundWithAlphaSettingPane formBackgroundSettingPane; - - - public PredefinedBackgroundSettingPane() { - initPane(); - } - - private void initPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - reportBackgroundSettingPane = new BackgroundSettingPane(); - formBackgroundSettingPane = new BackgroundWithAlphaSettingPane(); - CardLayout tabbedPane = new CardLayout(); - JPanel center = new JPanel(tabbedPane); - center.add(reportBackgroundSettingPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plain_Report")); - center.add(formBackgroundSettingPane, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Decision_Report")); - this.buttonGroup = new UIButtonGroup(new String[]{com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plain_Report"), - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Decision_Report")}); - buttonGroup.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (buttonGroup.getSelectedIndex() == 0) { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Plain_Report")); - } else { - tabbedPane.show(center, com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Decision_Report")); - } - } - }); - - - this.add(buttonGroup, BorderLayout.NORTH); - - this.add(center, BorderLayout.CENTER); - this.buttonGroup.setSelectedIndex(0); - } - - public boolean currentFormBackground() { - return buttonGroup.getSelectedIndex() == 1; - } - - @Override - public void populateBean(PredefinedBackground predefinedBackground) { - reportBackgroundSettingPane.populateBean(predefinedBackground.getReportBackground()); - formBackgroundSettingPane.populateBean(predefinedBackground.getFormBackground()); - } - - @Override - public PredefinedBackground updateBean() { - PredefinedBackground predefinedBackground = new PredefinedBackground(); - predefinedBackground.setReportBackground(reportBackgroundSettingPane.updateBean()); - predefinedBackground.setFormBackground(formBackgroundSettingPane.updateBean()); - return predefinedBackground; - } - - @Override - protected String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Predefined_Background_Setting"); - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/AbstractBackgroundDetailPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/AbstractBackgroundDetailPane.java deleted file mode 100644 index 7cc1629bf..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/AbstractBackgroundDetailPane.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.design.event.UIObserverListener; -import com.fr.design.mainframe.backgroundpane.BackgroundQuickPane; -import com.fr.general.Background; - -import javax.swing.event.ChangeListener; - -/** - * Created by kerry on 2020-09-14 - */ -public abstract class AbstractBackgroundDetailPane extends BackgroundQuickPane { - @Override - public boolean accept(Background background) { - return false; - } - - @Override - public void populateBean(Background background) { - this.populate((T) background); - } - - @Override - public Background updateBean() { - return this.update(); - } - - @Override - public String title4PopupWindow() { - return null; - } - - @Override - public void reset() { - - } - - @Override - public void registerChangeListener(UIObserverListener listener) { - - } - - public abstract void populate(T background); - - public abstract T update(); - - public void addChangeListener(ChangeListener changeListener) { - - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundSettingPane.java deleted file mode 100644 index 3efd0b447..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundSettingPane.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.mainframe.backgroundpane.BackgroundQuickPane; -import com.fr.general.Background; -import com.fr.log.FineLoggerFactory; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.CardLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.ArrayList; - -/** - * Created by kerry on 2020-09-02 - */ -public class BackgroundSettingPane extends BasicBeanPane { - private ChangeListener changeListener = null; - private UIComboBox headCombobox; - private BackgroundQuickPane[] paneList; - - public BackgroundSettingPane() { - init(); - } - - private void init() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.add(createComboHeadPane(), BorderLayout.NORTH); - CardLayout cardlayout = new CardLayout(); - paneList = supportKindsOfBackgroundUI(); - final JPanel centerPane = new JPanel(cardlayout) { - @Override - public Dimension getPreferredSize() {// AUGUST:使用当前面板的的高度 - int index = headCombobox.getSelectedIndex(); - return new Dimension(super.getPreferredSize().width, paneList[index].getPreferredSize().height); - } - }; - centerPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0)); - for (BackgroundQuickPane pane : paneList) { - headCombobox.addItem(pane.title4PopupWindow()); - centerPane.add(pane, pane.title4PopupWindow()); - } - headCombobox.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - cardlayout.show(centerPane, (String) headCombobox.getSelectedItem()); - } - }); - this.add(centerPane, BorderLayout.CENTER); - } - - public void addChangeListener(ChangeListener changeListener) { - this.changeListener = changeListener; - } - - - private JPanel createComboHeadPane() { - headCombobox = new UIComboBox(); - - JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane( - new Component[][]{new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Report_Fill")), headCombobox}}, - TableLayoutHelper.FILL_NONE, 33, 5); - headCombobox.setPreferredSize(new Dimension(160, 20)); - jPanel.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10)); - return jPanel; - } - - protected BackgroundQuickPane[] supportKindsOfBackgroundUI() { - java.util.List kinds = new ArrayList<>(); - kinds.add(new EmptyBackgroundPane()); - kinds.add(new ColorDetailPane()); - kinds.add(new TextureDetailObservePane()); - kinds.add(new PatternDetailPane()); - kinds.add(createImageSelectPane()); - kinds.add(new GradientDetailPane()); - return kinds.toArray(new BackgroundQuickPane[kinds.size()]); - } - - protected ImageDetailPane createImageSelectPane() { - ImageDetailPane imageDetailPane = new ImageDetailPane(); - imageDetailPane.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - fireChangeListener(); - } - }); - return imageDetailPane; - } - - protected void fireChangeListener() { - if (changeListener != null) { - changeListener.stateChanged(null); - } - } - - - @Override - public void populateBean(Background background) { - for (int i = 0; i < paneList.length; i++) { - BackgroundQuickPane pane = paneList[i]; - if (pane.accept(background)) { - pane.populateBean(background); - headCombobox.setSelectedIndex(i); - return; - } - } - } - - @Override - public Background updateBean() { - int selectIndex = this.headCombobox.getSelectedIndex(); - try { - return paneList[selectIndex].updateBean(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - return null; - } - - @Override - protected String title4PopupWindow() { - return null; - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundWithAlphaSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundWithAlphaSettingPane.java deleted file mode 100644 index dba0dce23..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/BackgroundWithAlphaSettingPane.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.config.predefined.BackgroundWithAlpha; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.designer.IntervalConstants; -import com.fr.design.gui.frpane.UINumberDragPane; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; - -/** - * Created by kerry on 2020-09-04 - */ -public class BackgroundWithAlphaSettingPane extends BasicBeanPane { - private BackgroundSettingPane backgroundSettingPane; - //透明度 - private UINumberDragPane numberDragPane; - - private double maxNumber = 100; - - - public BackgroundWithAlphaSettingPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - backgroundSettingPane = new FormBackgroundSettingPane(); - - JPanel eastpane = FRGUIPaneFactory.createBoxFlowInnerContainer_S_Pane(2, 0); - this.numberDragPane = new UINumberDragPane(0, 100); - this.numberDragPane.setPreferredSize(new Dimension(148, 20)); - eastpane.add(numberDragPane); - eastpane.add(new UILabel("%")); - JPanel transparencyPane = TableLayoutHelper.createGapTableLayoutPane( - new Component[][]{new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget-Style_Alpha")), - eastpane}}, TableLayoutHelper.FILL_LASTCOLUMN, 18, 5); - transparencyPane.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10)); - - - Component[][] components = new Component[][]{ - new Component[]{backgroundSettingPane}, - new Component[]{transparencyPane}}; - - JPanel panel = TableLayoutHelper.createGapTableLayoutPane(components, TableLayoutHelper.FILL_NONE, IntervalConstants.INTERVAL_W2, IntervalConstants.INTERVAL_L1); - this.add(panel, BorderLayout.CENTER); - } - - - public void addChangeListener(ChangeListener changeListener) { - this.backgroundSettingPane.addChangeListener(changeListener); - } - - - @Override - public void populateBean(BackgroundWithAlpha ob) { - backgroundSettingPane.populateBean(ob.getBackground()); - numberDragPane.populateBean(ob.getAlpha() * maxNumber); - } - - @Override - public BackgroundWithAlpha updateBean() { - BackgroundWithAlpha backgroundWithAlpha = new BackgroundWithAlpha(); - backgroundWithAlpha.setBackground(backgroundSettingPane.updateBean()); - backgroundWithAlpha.setAlpha((float) (numberDragPane.updateBean() / maxNumber)); - return backgroundWithAlpha; - } - - @Override - protected String title4PopupWindow() { - return null; - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ColorDetailPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ColorDetailPane.java deleted file mode 100644 index ce4f923cb..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ColorDetailPane.java +++ /dev/null @@ -1,103 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.base.background.ColorBackground; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.color.ColorSelectPane; -import com.fr.general.Background; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; - -/** - * Created by kerry on 2020-08-31 - */ -public class ColorDetailPane extends AbstractBackgroundDetailPane { - private ColorBackgroundSelectPane selectPane; - - - public ColorDetailPane() { - this.selectPane = new ColorBackgroundSelectPane(); - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.add(this.selectPane, BorderLayout.CENTER); - } - - @Override - public void populate(ColorBackground background) { - this.selectPane.setColor(background.getColor()); - } - - @Override - public ColorBackground update() { - return ColorBackground.getInstance(selectPane.getColor()); - } - - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Color"); - } - - @Override - public boolean accept(Background background) { - return background instanceof ColorBackground; - } - - class ColorBackgroundSelectPane extends ColorSelectPane implements UIObserver { - protected UIObserverListener uiObserverListener; - - protected void initialCompents(boolean isSupportTransparent) { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.setBorder(BorderFactory.createEmptyBorder()); - if (isSupportTransparent) { - this.add(createNorthPane(), BorderLayout.NORTH); - } - JPanel centerPane = createCenterPane(); - this.add(centerPane, BorderLayout.CENTER); - this.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - if (uiObserverListener != null) { - uiObserverListener.doChange(); - } - } - }); - } - - private JPanel createNorthPane() { - UIButton transpanrentBtn = createTranspanrentButton(); - transpanrentBtn.setPreferredSize(new Dimension(160, 20)); - JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane( - new Component[][]{new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Color")), - transpanrentBtn}}, TableLayoutHelper.FILL_NONE, 33, 5); - jPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 10)); - return jPanel; - } - - protected JPanel createCenterPane() { - JPanel centerPane = super.createCenterPane(); - - JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane( - new Component[][]{new Component[]{new UILabel(" "), centerPane}}, TableLayoutHelper.FILL_NONE, 33, 5); - jPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 10)); - return jPanel; - } - - @Override - public void registerChangeListener(UIObserverListener listener) { - this.uiObserverListener = listener; - } - - @Override - public boolean shouldResponseChangeListener() { - return true; - } - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/EmptyBackgroundPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/EmptyBackgroundPane.java deleted file mode 100644 index 569db1023..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/EmptyBackgroundPane.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.general.Background; - -/** - * Created by kerry on 2020-09-01 - */ -public class EmptyBackgroundPane extends AbstractBackgroundDetailPane { - - @Override - public void populate(Background background) { - - } - - @Override - public Background update() { - return null; - } - - /** - * 名称 - * - * @return 名称 - */ - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Null"); - } - - public boolean accept(Background background) { - return background == null; - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/FormBackgroundSettingPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/FormBackgroundSettingPane.java deleted file mode 100644 index 1a683df5c..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/FormBackgroundSettingPane.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.design.ExtraDesignClassManager; -import com.fr.design.event.UIObserverListener; -import com.fr.design.fun.BackgroundQuickUIProvider; -import com.fr.design.mainframe.backgroundpane.BackgroundQuickPane; - -import java.util.ArrayList; -import java.util.List; -import java.util.Set; - -/** - * Created by kerry on 2020-09-14 - */ -public class FormBackgroundSettingPane extends BackgroundSettingPane { - - public FormBackgroundSettingPane() { - super(); - } - - @Override - protected BackgroundQuickPane[] supportKindsOfBackgroundUI() { - ColorDetailPane colorDetailPane = new ColorDetailPane(); - ImageDetailPane imageDetailPane = createImageSelectPane(); - GradientDetailPane gradientPane = new GradientDetailPane(); - //hugh:表单支持背景接口 - List kinds = new ArrayList(); - - kinds.add(new EmptyBackgroundPane()); - kinds.add(colorDetailPane); - kinds.add(imageDetailPane); - kinds.add(gradientPane); - - Set providers = ExtraDesignClassManager.getInstance().getArray(BackgroundQuickUIProvider.MARK_STRING); - for (BackgroundQuickUIProvider provider : providers) { - BackgroundQuickPane newTypePane = provider.appearanceForBackground(); - newTypePane.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - fireChangeListener(); - } - }); - kinds.add(newTypePane); - } - - return kinds.toArray(new BackgroundQuickPane[kinds.size()]); - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/GradientDetailPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/GradientDetailPane.java deleted file mode 100644 index dba975ccc..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/GradientDetailPane.java +++ /dev/null @@ -1,159 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.base.background.GradientBackground; -import com.fr.design.designer.IntervalConstants; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.ibutton.UIRadioButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.background.gradient.GradientBar; -import com.fr.general.Background; - -import javax.swing.ButtonGroup; -import javax.swing.JPanel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * 渐变色的面板,不是很pp,面板应用显得繁琐,有写可以写成控件类型,比如色彩选择的。。,可以做得花哨点 - * - * @author ben - */ -public class GradientDetailPane extends AbstractBackgroundDetailPane implements UIObserver { - private static final long serialVersionUID = -6854603990673031897L; - private UIObserverListener listener; - private UIRadioButton left2right, top2bottom; - private GradientBar gradientBar; - private ChangeListener changeListener = null; - - public GradientDetailPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - - JPanel gradientPanel = FRGUIPaneFactory.createBorderLayout_S_Pane(); - JPanel blankJp = new JPanel(); - gradientBar = new GradientBar(4, 150); - blankJp.add(gradientBar); - - gradientPanel.add(gradientBar, BorderLayout.SOUTH); - - JPanel jp = new JPanel(new GridLayout(2, 1, 15, 10)); - - - left2right = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Page_Setup_Horizontal")); - jp.add(left2right); - left2right.setSelected(true); - left2right.addActionListener(reviewListener); - - top2bottom = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Page_Setup_Vertical")); - jp.add(top2bottom); - top2bottom.addActionListener(reviewListener); - - ButtonGroup toggle = new ButtonGroup(); - toggle.add(left2right); - toggle.add(top2bottom); - - Component[][] components = new Component[][]{ - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Gradient_Setting")), gradientPanel}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Gradient_Color")), jp} - }; - JPanel contentPane = TableLayoutHelper.createGapTableLayoutPane(components, TableLayoutHelper.FILL_LASTCOLUMN, - IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1); - this.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - if (listener != null) { - listener.doChange(); - } - } - }); - - - this.add(contentPane); - } - - @Override - public boolean accept(Background background) { - return background instanceof GradientBackground; - } - - - - public void populate(GradientBackground bg) { - this.gradientBar.getSelectColorPointBtnP1().setColorInner(bg.getStartColor()); - this.gradientBar.getSelectColorPointBtnP2().setColorInner(bg.getEndColor()); - if (bg.getDirection() == GradientBackground.LEFT2RIGHT) { - left2right.setSelected(true); - } else { - top2bottom.setSelected(true); - } - if (bg.isUseCell()) { - return; - } - double startValue = (double) bg.getBeginPlace(); - double endValue = (double) bg.getFinishPlace(); - gradientBar.setStartValue(startValue); - gradientBar.setEndValue(endValue); - this.gradientBar.repaint(); - } - - public GradientBackground update() { - GradientBackground gb = new GradientBackground( - gradientBar.getSelectColorPointBtnP1().getColorInner(), - gradientBar.getSelectColorPointBtnP2().getColorInner()); - if (left2right.isSelected()) { - gb.setDirection(GradientBackground.LEFT2RIGHT); - } else { - gb.setDirection(GradientBackground.TOP2BOTTOM); - } - if (gradientBar.isOriginalPlace()) { - gb.setUseCell(true); - } else { - gb.setUseCell(false); - gb.setBeginPlace((float) gradientBar.getStartValue()); - gb.setFinishPlace((float) gradientBar.getEndValue()); - } - return gb; - } - - - ActionListener reviewListener = new ActionListener() { - public void actionPerformed(ActionEvent e) { - fireChagneListener(); - } - }; - - public void addChangeListener(ChangeListener changeListener) { - this.changeListener = changeListener; - gradientBar.addChangeListener(changeListener); - } - - public void fireChagneListener() { - if (this.changeListener != null) { - ChangeEvent evt = new ChangeEvent(this); - this.changeListener.stateChanged(evt); - } - } - - @Override - public void registerChangeListener(UIObserverListener listener) { - this.listener = listener; - } - - @Override - public boolean shouldResponseChangeListener() { - return true; - } - - @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Gradient_Color"); - } - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ImageDetailPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ImageDetailPane.java deleted file mode 100644 index 8817f8d8e..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/ImageDetailPane.java +++ /dev/null @@ -1,194 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.base.Style; -import com.fr.base.background.ImageBackground; -import com.fr.base.background.ImageFileBackground; -import com.fr.design.designer.IntervalConstants; -import com.fr.design.gui.frpane.ImgChooseWrapper; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.ibutton.UIRadioButton; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.background.image.ImageFileChooser; -import com.fr.design.style.background.image.ImagePreviewPane; -import com.fr.general.Background; -import com.fr.stable.Constants; - -import javax.swing.BorderFactory; -import javax.swing.ButtonGroup; -import javax.swing.JPanel; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -/** - * Image background pane. - */ -public class ImageDetailPane extends AbstractBackgroundDetailPane { - - protected ImagePreviewPane previewPane = null; - private Style imageStyle = null; - private ChangeListener changeListener = null; - private ImageFileChooser imageFileChooser = null; - - private UIRadioButton defaultRadioButton = null; - private UIRadioButton tiledRadioButton = null; - private UIRadioButton extendRadioButton = null; - private UIRadioButton adjustRadioButton = null; - - - public ImageDetailPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.add(initSelectFilePane(), BorderLayout.CENTER); - imageFileChooser = new ImageFileChooser(); - imageFileChooser.setMultiSelectionEnabled(false); - previewPane = new ImagePreviewPane(); - } - - public JPanel initSelectFilePane() { - JPanel selectFilePane = FRGUIPaneFactory.createBorderLayout_L_Pane(); - selectFilePane.setBorder(BorderFactory.createEmptyBorder()); - UIButton selectPictureButton = new UIButton( - com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image_Select")); - selectPictureButton.setMnemonic('S'); - selectPictureButton.addActionListener(selectPictureActionListener); - selectPictureButton.setPreferredSize(new Dimension(160, 20)); - //布局 - defaultRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Layout_Default")); - tiledRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Layout_Image_Titled")); - extendRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Layout_Image_Extend")); - adjustRadioButton = new UIRadioButton(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Style_Alignment_Layout_Image_Adjust")); - - defaultRadioButton.addActionListener(layoutActionListener); - tiledRadioButton.addActionListener(layoutActionListener); - extendRadioButton.addActionListener(layoutActionListener); - adjustRadioButton.addActionListener(layoutActionListener); - - JPanel jp = new JPanel(new GridLayout(4, 1, 15, 10)); - for (UIRadioButton button : imageLayoutButtons()) { - jp.add(button); - } - - ButtonGroup layoutBG = new ButtonGroup(); - layoutBG.add(defaultRadioButton); - layoutBG.add(tiledRadioButton); - layoutBG.add(extendRadioButton); - layoutBG.add(adjustRadioButton); - - defaultRadioButton.setSelected(true); - - Component[][] components = new Component[][]{ - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image")), selectPictureButton}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Fill_Mode")), jp} - }; - JPanel centerPane = TableLayoutHelper.createGapTableLayoutPane(components, TableLayoutHelper.FILL_NONE, - IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1); - selectFilePane.add(centerPane, BorderLayout.CENTER); - return selectFilePane; - } - - protected UIRadioButton[] imageLayoutButtons() { - return new UIRadioButton[]{ - defaultRadioButton, - tiledRadioButton, - extendRadioButton, - adjustRadioButton - }; - } - - @Override - public boolean accept(Background background) { - return background instanceof ImageBackground; - } - - - /** - * Select picture. - */ - ActionListener selectPictureActionListener = new ActionListener() { - - public void actionPerformed(ActionEvent evt) { - int returnVal = imageFileChooser.showOpenDialog(ImageDetailPane.this); - setImageStyle(); - ImgChooseWrapper.getInstance(previewPane, imageFileChooser, imageStyle, changeListener).dealWithImageFile(returnVal); - } - }; - - protected void setImageStyle() { - if (tiledRadioButton.isSelected()) { - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_TILED); - } else if (adjustRadioButton.isSelected()) { - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_ADJUST); - } else if (extendRadioButton.isSelected()) { - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_EXTEND); - } else { - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_CENTER); - } - } - - ActionListener layoutActionListener = new ActionListener() { - - @Override - public void actionPerformed(ActionEvent evt) { - setImageStyle(); - changeImageStyle(); - } - - private void changeImageStyle() { - previewPane.setImageStyle(ImageDetailPane.this.imageStyle); - previewPane.repaint(); - } - }; - - @Override - public void populate(ImageBackground imageBackground) { - if (imageBackground.getLayout() == Constants.IMAGE_CENTER) { - defaultRadioButton.setSelected(true); - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_CENTER); - } else if (imageBackground.getLayout() == Constants.IMAGE_EXTEND) { - extendRadioButton.setSelected(true); - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_EXTEND); - } else if (imageBackground.getLayout() == Constants.IMAGE_ADJUST) { - adjustRadioButton.setSelected(true); - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_ADJUST); - } else { - tiledRadioButton.setSelected(true); - imageStyle = Style.DEFAULT_STYLE.deriveImageLayout(Constants.IMAGE_TILED); - } - - fireChagneListener(); - } - - @Override - public ImageBackground update() { - ImageBackground imageBackground = new ImageFileBackground(previewPane.getImageWithSuffix()); - setImageStyle(); - imageBackground.setLayout(imageStyle.getImageLayout()); - return imageBackground; - } - - @Override - public void addChangeListener(ChangeListener changeListener) { - this.changeListener = changeListener; - } - - private void fireChagneListener() { - if (this.changeListener != null) { - ChangeEvent evt = new ChangeEvent(this); - this.changeListener.stateChanged(evt); - } - } - - @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Image"); - } - - -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/PatternDetailPane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/PatternDetailPane.java deleted file mode 100644 index 5fa3b6ac2..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/PatternDetailPane.java +++ /dev/null @@ -1,127 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.base.background.PatternBackground; -import com.fr.design.designer.IntervalConstants; -import com.fr.design.dialog.AttrScrollPane; -import com.fr.design.dialog.BasicScrollPane; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.background.impl.PatternBackgroundPane; -import com.fr.design.style.color.ColorSelectBox; -import com.fr.general.Background; -import com.fr.log.FineLoggerFactory; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.GridLayout; -import java.awt.LayoutManager; - -/** - * Created by kerry on 2020-08-31 - */ -public class PatternDetailPane extends AbstractBackgroundDetailPane implements UIObserver { - - private UIObserverListener listener; - private PatternNewBackgroundPane patternNewBackgroundPane; - - public PatternDetailPane() { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - patternNewBackgroundPane = new PatternNewBackgroundPane(6); - this.add(patternNewBackgroundPane, BorderLayout.CENTER); - } - - @Override - public void registerChangeListener(UIObserverListener listener) { - this.listener = listener; - } - - @Override - public void populate(PatternBackground background) { - this.patternNewBackgroundPane.populate(background); - } - - @Override - public PatternBackground update() { - try { - return (PatternBackground) this.patternNewBackgroundPane.update(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - return null; - } - @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Pattern"); - } - - - @Override - public boolean accept(Background background) { - return background instanceof PatternBackground; - } - - - @Override - public boolean shouldResponseChangeListener() { - return true; - } - - class PatternNewBackgroundPane extends PatternBackgroundPane { - private PatternNewBackgroundPane(int nColumn) { - super(nColumn); - } - - protected LayoutManager layoutOfTypePane(int nColumn) { - return new GridLayout(0, nColumn, 2, 2); - } - - protected void initComponents(int nColumn) { - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - this.setBorder(BorderFactory.createEmptyBorder()); - JPanel jPanel = new JPanel(); - jPanel.setLayout(layoutOfTypePane(nColumn)); - setChildrenOfTypePane(jPanel); - - foregroundColorPane = new ColorSelectBox(80); - backgroundColorPane = new ColorSelectBox(80); - foregroundColorPane.setSelectObject(Color.lightGray); - backgroundColorPane.setSelectObject(Color.black); - UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Pattern")); - label.setVerticalAlignment(SwingConstants.TOP); - Component[][] components = new Component[][]{ - new Component[]{label, jPanel}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_ForeBackground_Color")), foregroundColorPane}, - new Component[]{new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Pattern_Color")), backgroundColorPane} - }; - JPanel centerPane = TableLayoutHelper.createGapTableLayoutPane(components, TableLayoutHelper.FILL_LASTCOLUMN, - IntervalConstants.INTERVAL_W4, IntervalConstants.INTERVAL_L1); - JPanel jPanel1 = FRGUIPaneFactory.createLeftFlowZeroGapBorderPane(); - jPanel1.add(centerPane); - BasicScrollPane basicScrollPane = new AttrScrollPane() { - @Override - protected JPanel createContentPane() { - return jPanel1; - } - }; - jPanel1.setBorder(BorderFactory.createEmptyBorder()); - this.add(basicScrollPane, BorderLayout.NORTH); - this.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - if (listener != null) { - listener.doChange(); - } - } - }); - } - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/TextureDetailObservePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/TextureDetailObservePane.java deleted file mode 100644 index 189b811d9..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/background/TextureDetailObservePane.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.background; - -import com.fr.base.background.TextureBackground; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.style.background.texture.TextureDetailPane; -import com.fr.general.Background; -import com.fr.log.FineLoggerFactory; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; - -/** - * Created by kerry on 2020-09-02 - */ -public class TextureDetailObservePane extends AbstractBackgroundDetailPane implements UIObserver { - private TextureDetailPane detailPane; - - private UIObserverListener listener; - - public TextureDetailObservePane() { - - this.setLayout(FRGUIPaneFactory.createBorderLayout()); - detailPane = TextureDetailPane.createMiniTextureDetailPane(6); - - detailPane.setPreferredSize(new Dimension(160, 108)); - UILabel label = new UILabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Texture")); - label.setPreferredSize(new Dimension(24, 108)); - label.setVerticalAlignment(SwingConstants.TOP); - JPanel jPanel = TableLayoutHelper.createGapTableLayoutPane( - new Component[][]{new Component[]{label, detailPane}}, TableLayoutHelper.FILL_LASTCOLUMN, 33, 5); - jPanel.setBorder(BorderFactory.createEmptyBorder(5, 0, 5, 10)); - - - detailPane.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - if (listener != null) { - listener.doChange(); - } - } - }); - this.add(jPanel, BorderLayout.CENTER); - } - - @Override - public void registerChangeListener(UIObserverListener listener) { - this.listener = listener; - - } - - @Override - public boolean shouldResponseChangeListener() { - return true; - } - - @Override - public void populate(TextureBackground background) { - this.detailPane.populate(background); - } - - @Override - public TextureBackground update() { - try { - return (TextureBackground) this.detailPane.update(); - } catch (Exception e) { - FineLoggerFactory.getLogger().error(e.getMessage(), e); - } - return null; - } - - - @Override - public String title4PopupWindow() { - return com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Background_Texture"); - } - - @Override - public boolean accept(Background background) { - return background instanceof TextureBackground; - } - - - @Override - public void addChangeListener(ChangeListener changeListener) { - - } -} diff --git a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/cell/CustomPredefinedStylePane.java b/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/cell/CustomPredefinedStylePane.java deleted file mode 100644 index ca5186a0b..000000000 --- a/designer-base/src/main/java/com/fr/design/mainframe/predefined/ui/detail/cell/CustomPredefinedStylePane.java +++ /dev/null @@ -1,144 +0,0 @@ -package com.fr.design.mainframe.predefined.ui.detail.cell; - -import com.fr.base.Style; -import com.fr.design.constants.UIConstants; -import com.fr.design.dialog.AttrScrollPane; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.BasicScrollPane; -import com.fr.design.dialog.MultiTabPane; -import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.style.AbstractBasicStylePane; -import com.fr.design.gui.style.AlignmentPane; -import com.fr.design.gui.style.BorderPane; -import com.fr.design.gui.style.FormatPane; - -import javax.swing.BorderFactory; -import javax.swing.JPanel; -import javax.swing.event.ChangeListener; -import java.awt.BorderLayout; -import java.awt.GridLayout; -import java.util.ArrayList; -import java.util.List; - - -/** - * 哎,复杂的原型图导致复杂的画法。非我所愿也 - * - * @author zhou - * @since 2012-5-24上午10:36:10 - */ -public class CustomPredefinedStylePane extends MultiTabPane