diff --git a/designer-base/src/main/java/com/fr/design/gui/frpane/UITabbedPaneUI.java b/designer-base/src/main/java/com/fr/design/gui/frpane/UITabbedPaneUI.java index d95740798..5798a864b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/frpane/UITabbedPaneUI.java +++ b/designer-base/src/main/java/com/fr/design/gui/frpane/UITabbedPaneUI.java @@ -330,7 +330,9 @@ public class UITabbedPaneUI extends BasicTabbedPaneUI { g.drawLine(x + 1, y + h - 2, x + w - 3, y + h - 2); // bottom } + @Override protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex) { + // do nothing } /** diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/SpecialUIButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/SpecialUIButton.java index 338cbac7e..c423ac582 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/SpecialUIButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/SpecialUIButton.java @@ -25,6 +25,8 @@ public class SpecialUIButton extends JButton { * * @see javax.swing.AbstractButton#setUI(ButtonUI) */ + @Override public void setUI(ButtonUI ui) { + // do nothing } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIBasicButtonUI.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIBasicButtonUI.java index 64db1e91d..87aae662b 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIBasicButtonUI.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIBasicButtonUI.java @@ -43,6 +43,7 @@ public class UIBasicButtonUI extends MetalButtonUI { private boolean isDefault; public UIBasicButtonUI() { + // do nothing } /** diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIColorButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIColorButton.java index c1dc9b058..6d893d24f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIColorButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIColorButton.java @@ -36,7 +36,7 @@ public class UIColorButton extends UIButton implements PopupHider, UIObserver, G private EventListenerList colorChangeListenerList = new EventListenerList(); private boolean isEventBanned = false; private String colorButtonName = ""; - private UIObserverListener uiObserverListener; + private UIObserverListener uiColorObserverListener; private GlobalNameListener globalNameListener = null; public UIColorButton() { @@ -60,13 +60,13 @@ public class UIColorButton extends UIButton implements PopupHider, UIObserver, G this.addColorChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) { - if (uiObserverListener == null) { + if (uiColorObserverListener == null) { return; } if (globalNameListener != null && shouldResponseNameListener()) { globalNameListener.setGlobalName(colorButtonName); } - uiObserverListener.doChange(); + uiColorObserverListener.doChange(); } }); } @@ -199,7 +199,7 @@ public class UIColorButton extends UIButton implements PopupHider, UIObserver, G * @param listener 观察者监听事件 */ public void registerChangeListener(UIObserverListener listener) { - uiObserverListener = listener; + uiColorObserverListener = listener; } /** diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java index edbc01340..e21f4c217 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIHeadGroup.java @@ -25,7 +25,7 @@ public class UIHeadGroup extends JPanel { protected int selectedIndex = -1; protected void tabChanged(int newSelectedIndex) { - + // do nothing } public UIHeadGroup(String[] textArray) { diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPasswordField.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPasswordField.java index 8d26b5e87..8963119a0 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPasswordField.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPasswordField.java @@ -1 +1 @@ -package com.fr.design.gui.ibutton; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import javax.swing.*; /** * Author : Shockway * Date: 13-10-21 * Time: 下午3:23 */ public class UIPasswordField extends JPasswordField implements UIObserver { public void registerChangeListener(UIObserverListener listener) { } public boolean shouldResponseChangeListener() { return false; } } \ No newline at end of file +package com.fr.design.gui.ibutton; import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserverListener; import javax.swing.*; /** * Author : Shockway * Date: 13-10-21 * Time: 下午3:23 */ public class UIPasswordField extends JPasswordField implements UIObserver { public void registerChangeListener(UIObserverListener listener) { // do nothing } public boolean shouldResponseChangeListener() { return false; } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPreviewButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPreviewButton.java index a5f9de9b7..50bbc1440 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPreviewButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIPreviewButton.java @@ -1 +1 @@ -package com.fr.design.gui.ibutton; import com.fr.design.constants.UIConstants; import com.fr.stable.Constants; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; /** * Author : daisy * Date: 13-8-1 * Time: 下午3:41 */ public class UIPreviewButton extends JPanel { private static final int START_X = -7; protected UIButton upButton; protected UIButton downButton; protected void upButtonClickEvent() { } protected void downButtonClickEvent() { } public UIPreviewButton() { this(new UIButton(), new UIButton()); } public UIPreviewButton(UIButton up, UIButton down) { upButton = up; downButton = down; upButton.setRoundBorder(true, Constants.CENTER); downButton.setRoundBorder(true, Constants.CENTER); upButton.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { downButton.getModel().setPressed(true); downButton.getModel().setSelected(true); downButton.repaint(); } @Override public void mouseReleased(MouseEvent e) { downButton.getModel().setPressed(false); downButton.getModel().setSelected(false); downButton.repaint(); } @Override public void mouseClicked(MouseEvent e) { upButtonClickEvent(); } }); downButton.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { upButton.getModel().setPressed(true); upButton.getModel().setSelected(true); upButton.repaint(); } @Override public void mouseReleased(MouseEvent e) { upButton.getModel().setPressed(false); upButton.getModel().setSelected(false); upButton.repaint(); } @Override public void mouseClicked(MouseEvent e) { downButtonClickEvent(); } }); this.setLayout(new FlowLayout(FlowLayout.CENTER,5,0)); this.add(upButton); this.add(downButton); } public UIPreviewButton(Icon left, Icon right) { this(); upButton.setIcon(left); downButton.setIcon(right); } public UIButton getUpButton() { return upButton; } public void setExtraPainted(boolean isExtraPainted) { if (!isExtraPainted) { upButton.setBackground(null); downButton.setBackground(null); upButton.setOpaque(false); downButton.setOpaque(false); } } public UIButton getDownButton() { return downButton; } public void set4Toolbar() { upButton.setNormalPainted(false); downButton.setNormalPainted(false); upButton.setBorderPaintedOnlyWhenPressed(true); downButton.setBorderPaintedOnlyWhenPressed(true); } protected void showPopWindow(JPopupMenu menu) { GUICoreUtils.showPopupMenu(menu, this, START_X, getY() + getHeight() - 3); } public static void main(String... args) { JFrame jf = new JFrame("test"); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel content = (JPanel) jf.getContentPane(); content.setLayout(null); UIPreviewButton bb = new UIPreviewButton(UIConstants.PAGE_BIG_ICON, UIConstants.PREVIEW_DOWN); bb.setBounds(20, 20, bb.getPreferredSize().width, bb.getPreferredSize().height); content.add(bb); GUICoreUtils.centerWindow(jf); jf.setSize(100, 100); jf.setVisible(true); } } \ No newline at end of file +package com.fr.design.gui.ibutton; import com.fr.design.constants.UIConstants; import com.fr.stable.Constants; import com.fr.design.utils.gui.GUICoreUtils; import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; /** * Author : daisy * Date: 13-8-1 * Time: 下午3:41 */ public class UIPreviewButton extends JPanel { private static final int START_X = -7; protected UIButton upButton; protected UIButton downButton; protected void upButtonClickEvent() { // do nothing } protected void downButtonClickEvent() { // do nothing } public UIPreviewButton() { this(new UIButton(), new UIButton()); } public UIPreviewButton(UIButton up, UIButton down) { upButton = up; downButton = down; upButton.setRoundBorder(true, Constants.CENTER); downButton.setRoundBorder(true, Constants.CENTER); upButton.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { downButton.getModel().setPressed(true); downButton.getModel().setSelected(true); downButton.repaint(); } @Override public void mouseReleased(MouseEvent e) { downButton.getModel().setPressed(false); downButton.getModel().setSelected(false); downButton.repaint(); } @Override public void mouseClicked(MouseEvent e) { upButtonClickEvent(); } }); downButton.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { upButton.getModel().setPressed(true); upButton.getModel().setSelected(true); upButton.repaint(); } @Override public void mouseReleased(MouseEvent e) { upButton.getModel().setPressed(false); upButton.getModel().setSelected(false); upButton.repaint(); } @Override public void mouseClicked(MouseEvent e) { downButtonClickEvent(); } }); this.setLayout(new FlowLayout(FlowLayout.CENTER,5,0)); this.add(upButton); this.add(downButton); } public UIPreviewButton(Icon left, Icon right) { this(); upButton.setIcon(left); downButton.setIcon(right); } public UIButton getUpButton() { return upButton; } public void setExtraPainted(boolean isExtraPainted) { if (!isExtraPainted) { upButton.setBackground(null); downButton.setBackground(null); upButton.setOpaque(false); downButton.setOpaque(false); } } public UIButton getDownButton() { return downButton; } public void set4Toolbar() { upButton.setNormalPainted(false); downButton.setNormalPainted(false); upButton.setBorderPaintedOnlyWhenPressed(true); downButton.setBorderPaintedOnlyWhenPressed(true); } protected void showPopWindow(JPopupMenu menu) { GUICoreUtils.showPopupMenu(menu, this, START_X, getY() + getHeight() - 3); } public static void main(String... args) { JFrame jf = new JFrame("test"); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel content = (JPanel) jf.getContentPane(); content.setLayout(null); UIPreviewButton bb = new UIPreviewButton(UIConstants.PAGE_BIG_ICON, UIConstants.PREVIEW_DOWN); bb.setBounds(20, 20, bb.getPreferredSize().width, bb.getPreferredSize().height); content.add(bb); GUICoreUtils.centerWindow(jf); jf.setSize(100, 100); jf.setVisible(true); } } \ No newline at end of file diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabButton.java index ce609cde8..aa5c34f60 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UITabButton.java @@ -175,7 +175,7 @@ public class UITabButton extends UILabel implements UISelectedComponent { } protected void paintOther(Graphics2D g2d, int w, int h) { - + // do nothing } } diff --git a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java index 2ba4f0243..dc380c0c9 100644 --- a/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java +++ b/designer-base/src/main/java/com/fr/design/gui/ibutton/UIToggleButton.java @@ -187,7 +187,7 @@ public class UIToggleButton extends UIButton implements GlobalNameObserver{ @Override protected void fireStateChanged() { - + // do nothing } diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/ComboCheckBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/ComboCheckBox.java index 31290d6b0..3a0be4a8f 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/ComboCheckBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/ComboCheckBox.java @@ -77,8 +77,8 @@ public class ComboCheckBox extends UIComboBox { protected ComboCheckBox comboBox; protected JScrollPane scrollPane; - protected MouseListener mouseListener; - protected MouseMotionListener mouseMotionListener; + protected MouseListener checkListMouseListener; + protected MouseMotionListener checkListMouseMotionListener; public CheckListPopup(JComboBox comboBox) { this.comboBox = (ComboCheckBox) comboBox; @@ -157,22 +157,22 @@ public class ComboCheckBox extends UIComboBox { @Override public MouseListener getMouseListener() { - if (mouseListener == null) { - mouseListener = new InvocationMouseHandler(); + if (checkListMouseListener == null) { + checkListMouseListener = new InvocationMouseHandler(); } - return mouseListener; + return checkListMouseListener; } public MouseMotionListener getMouseMotionListener() { - if (mouseMotionListener == null) { - mouseMotionListener = new MouseMotionAdapter() { + if (checkListMouseMotionListener == null) { + checkListMouseMotionListener = new MouseMotionAdapter() { }; } - return mouseMotionListener; + return checkListMouseMotionListener; } public void uninstallingUI() { - + // do nothing } protected class InvocationMouseHandler extends MouseAdapter { diff --git a/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java b/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java index ae2e6b52d..c3dd64c9d 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java +++ b/designer-base/src/main/java/com/fr/design/gui/icombobox/FRTreeComboBox.java @@ -318,6 +318,7 @@ public class FRTreeComboBox extends UIComboBox { @Override public void mouseClicked(MouseEvent e) { + // do nothing } @Override diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java index 1513eb6e9..2a5c29d8c 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIEastResizableContainer.java @@ -1,12 +1,11 @@ package com.fr.design.gui.icontainer; -import com.fr.base.BaseUtils; -import com.fr.base.vcs.DesignerMode; + +import com.fr.design.base.mode.DesignModeContext; import com.fr.design.constants.UIConstants; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.mainframe.DesignerContext; import com.fr.design.utils.gui.GUICoreUtils; -import com.fr.stable.Constants; import javax.swing.*; import java.awt.*; @@ -174,6 +173,7 @@ public class UIEastResizableContainer extends JPanel { @Override public void addLayoutComponent(String name, Component comp) { + // do nothing } }; @@ -238,6 +238,7 @@ public class UIEastResizableContainer extends JPanel { * 伸缩右子面板时,触发此方法 */ public void onResize() { + // do nothing here } private class TopToolPane extends JPanel { @@ -261,6 +262,7 @@ public class UIEastResizableContainer extends JPanel { @Override public void mouseDragged(MouseEvent e) { + // do nothing } }); addMouseListener(new MouseAdapter() { @@ -282,7 +284,7 @@ public class UIEastResizableContainer extends JPanel { } onResize(); refreshContainer(); - if (DesignerMode.isAuthorityEditing()) { + if (DesignModeContext.isAuthorityEditing()) { DesignerContext.getDesignerFrame().doResize(); } } diff --git a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java index 4d844336f..a589b0c87 100644 --- a/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java +++ b/designer-base/src/main/java/com/fr/design/gui/icontainer/UIModeControlContainer.java @@ -1,6 +1,7 @@ package com.fr.design.gui.icontainer; import com.fr.base.vcs.DesignerMode; +import com.fr.design.base.mode.DesignModeContext; import com.fr.design.constants.UIConstants; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; @@ -85,7 +86,7 @@ public class UIModeControlContainer extends JLayeredPane { public void needToShowCoverAndHidPane() { - if (DesignerMode.isAuthorityEditing()) { + if (DesignModeContext.isAuthorityEditing()) { this.remove(coverPane); this.remove(hidePane); } else { @@ -128,7 +129,7 @@ public class UIModeControlContainer extends JLayeredPane { if (isHideMode || !upEditMode) { return; } - if (DesignerMode.isAuthorityEditing()) { + if (DesignModeContext.isAuthorityEditing()) { return; } setCursor(Cursor.getPredefinedCursor(Cursor.N_RESIZE_CURSOR)); @@ -151,11 +152,12 @@ public class UIModeControlContainer extends JLayeredPane { MouseMotionListener mouseMotionListener = new MouseMotionListener() { @Override public void mouseMoved(MouseEvent e) { + //do nothing } @Override public void mouseDragged(MouseEvent e) { - if (DesignerMode.isAuthorityEditing()) { + if (DesignModeContext.isAuthorityEditing()) { return; } boolean notUpEditMode = isHideMode || !upEditMode; @@ -174,7 +176,7 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void removeLayoutComponent(Component comp) { - + //do nothing } @Override @@ -234,11 +236,12 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void addLayoutComponent(String name, Component comp) { + // do nothing } }; protected void onModeChanged() { - + //do nothing here } /** @@ -309,7 +312,7 @@ public class UIModeControlContainer extends JLayeredPane { addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - + // do nothing } }); } @@ -319,6 +322,7 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void removeLayoutComponent(Component comp) { + // do nothing } @Override @@ -333,10 +337,12 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void layoutContainer(Container parent) { + // do nothing } @Override public void addLayoutComponent(String name, Component comp) { + // do nothing } }; @@ -366,7 +372,7 @@ public class UIModeControlContainer extends JLayeredPane { addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { - + // do nothing } }); @@ -407,6 +413,7 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void removeLayoutComponent(Component comp) { + // do nothing } @Override @@ -437,6 +444,7 @@ public class UIModeControlContainer extends JLayeredPane { @Override public void addLayoutComponent(String name, Component comp) { + // do nothing } }; 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 0c3a067a9..80efde739 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 @@ -562,7 +562,7 @@ public class FRGUIPaneFactory { double n = (double)(width + WIDTH_OFFSET_N ) / (double)WIDTH_PARA_F; double i = Math.abs(((double) ((int) m + (int) (m + 1)) / WIDTHABS_PARA_F) - m); double j = Math.abs(((double) ((int) n + (int) (n + 1)) / WIDTHABS_PARA_F) - n); - double x = i > j ? i : j; + double x = Math.max(i,j); if (AssistUtils.equals(x, i)) { w = (int) (Math.round(m) * WIDTH_PARA_INT - WIDTH_OFFSET_M); } else if (AssistUtils.equals(x, j)) { diff --git a/designer-base/src/main/java/com/fr/design/layout/TableLayoutHelper.java b/designer-base/src/main/java/com/fr/design/layout/TableLayoutHelper.java index 1be77c849..d394f43ee 100644 --- a/designer-base/src/main/java/com/fr/design/layout/TableLayoutHelper.java +++ b/designer-base/src/main/java/com/fr/design/layout/TableLayoutHelper.java @@ -372,7 +372,8 @@ public class TableLayoutHelper { double p = TableLayout.PREFERRED; double f = TableLayout.FILL; JPanel jp1 = TableLayoutHelper.createTableLayoutPane(createTestComponents("jp1"), TableLayoutHelper.FILL_NONE); - JPanel jp2 = TableLayoutHelper.createGapTableLayoutPane(createTestComponents("jp2"), TableLayoutHelper.FILL_LASTCOL_AND_ROW, (double)2 * TEN, (double)2 * TEN); + JPanel jp2 = TableLayoutHelper.createGapTableLayoutPane(createTestComponents("jp2"), + TableLayoutHelper.FILL_LASTCOL_AND_ROW, (double)2 * TEN, (double)2 * TEN); JPanel jp3 = TableLayoutHelper.createGapTableLayoutPane(createTestComponents("jp3"), new double[]{f, p, f, p}, new double[]{f, f}, 4, 4); JPanel jp4 = TableLayoutHelper.createGapTableLayoutPane(createTestComponents("jp4"), diff --git a/designer-base/src/test/java/com/fr/design/mainframe/template/info/TemplateInfoTest.java b/designer-base/src/test/java/com/fr/design/mainframe/template/info/TemplateInfoTest.java index 19f6066ff..426dba3b1 100644 --- a/designer-base/src/test/java/com/fr/design/mainframe/template/info/TemplateInfoTest.java +++ b/designer-base/src/test/java/com/fr/design/mainframe/template/info/TemplateInfoTest.java @@ -54,7 +54,7 @@ public class TemplateInfoTest { TemplateInfo templateInfo = TemplateInfo.newInstance(templateID); assertEquals(templateID, templateInfo.getTemplateID()); assertEquals(StringUtils.EMPTY, Reflect.on(templateInfo).field("originID").get()); - assertEquals(0, Reflect.on(templateInfo).field("idleDayCount").get()); + assertEquals(0, (int) Reflect.on(templateInfo).field("idleDayCount").get()); assertEquals("{}", templateInfo.getProcessMapJsonString()); Map consumingMap = Reflect.on(templateInfo).field("consumingMap").get(); @@ -77,7 +77,7 @@ public class TemplateInfoTest { TemplateInfo templateInfo = TemplateInfo.newInstance(templateID, originID, originTime); assertEquals(templateID, templateInfo.getTemplateID()); assertEquals(originID, Reflect.on(templateInfo).field("originID").get()); - assertEquals(0, Reflect.on(templateInfo).field("idleDayCount").get()); + assertEquals(0, (int) Reflect.on(templateInfo).field("idleDayCount").get()); assertEquals("{}", templateInfo.getProcessMapJsonString()); Map consumingMap = Reflect.on(templateInfo).field("consumingMap").get(); diff --git a/designer-chart/src/main/java/com/fr/design/chartx/AbstractChartDataPane.java b/designer-chart/src/main/java/com/fr/design/chartx/AbstractChartDataPane.java index 04412c0a5..c7893ae24 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/AbstractChartDataPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/AbstractChartDataPane.java @@ -7,9 +7,9 @@ import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.plugin.chart.vanchart.VanChart; import com.fr.stable.AssistUtils; -import java.awt.BorderLayout; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; +import java.awt.BorderLayout; /** * Created by shine on 2019/4/15. @@ -45,9 +45,7 @@ public abstract class AbstractChartDataPane extends UIComboBoxPane< private void initComponents() { series = new UIComboBox(); + value = valueComboBoxHasNone() ? new UIComboBoxWithNone() : new UIComboBox(); + value.addItemListener(new ItemListener() { + @Override + public void itemStateChanged(ItemEvent e) { + function.setEnabled(value.getSelectedItem() != null); + } + }); + function = new CalculateComboBox(); + function.setEnabled(false); Component[][] components = new Component[][]{ new Component[]{new UILabel(Toolkit.i18nText("Fine-Design_Chart_Series_Name"), SwingConstants.LEFT), series}, @@ -171,7 +182,6 @@ public abstract class AbstractCustomFieldComboBoxPane extends UIComboBoxPane< public void checkBoxUse(boolean hasUse) { series.setEnabled(hasUse); value.setEnabled(hasUse); - function.setEnabled(hasUse); } public void clearAllBoxList() { diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPane.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPane.java index 6474cad0b..5d1a8c2f7 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPane.java @@ -10,13 +10,13 @@ import com.fr.general.IOUtils; import javax.swing.BoxLayout; import javax.swing.JComponent; import javax.swing.JPanel; +import java.util.ArrayList; +import java.util.List; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.ArrayList; -import java.util.List; /** @@ -34,6 +34,7 @@ public abstract class AbstractMultiComponentPane extends J private List categoryComponentList = new ArrayList(); + private boolean categoryAxis = true; protected abstract T createFirstFieldComponent(); @@ -43,6 +44,16 @@ public abstract class AbstractMultiComponentPane extends J protected abstract void updateField(T component, ColumnField field); + public void setCategoryAxis(boolean categoryAxis) { + this.categoryAxis = categoryAxis; + if(!categoryAxis){ + addButton.setEnabled(false); + for (JComponent component : categoryComponentList) { + component.setEnabled(false); + } + } + } + public AbstractMultiComponentPane() { UILabel label = new BoldFontTextLabel(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Style_Category")); @@ -126,7 +137,7 @@ public abstract class AbstractMultiComponentPane extends J } private boolean canAdd() { - return categoryComponentList.size() < 2; + return categoryComponentList.size() < 2 && categoryAxis; } public List componentList() { @@ -168,4 +179,16 @@ public abstract class AbstractMultiComponentPane extends J updateField(comboBox, temp); } } + + public void checkEnable(boolean hasUse) { + //增加按钮是否灰化要根据是否选择了数据源,是否分类轴,分类数量是否超标三个判断 + boolean buttonUse = hasUse && categoryAxis && categoryComponentList.size() < 2; + //额外的分类是否灰化根据是否选择了数据源,是否分类轴判断 + boolean categoryUse = hasUse && categoryAxis; + + addButton.setEnabled(buttonUse); + for (JComponent component : categoryComponentList) { + component.setEnabled(categoryUse); + } + } } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPaneWithUISpinner.java b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPaneWithUISpinner.java index 5f0e6500b..f784c4a86 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPaneWithUISpinner.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/component/AbstractMultiComponentPaneWithUISpinner.java @@ -11,10 +11,10 @@ import com.fr.stable.AssistUtils; import javax.swing.JComponent; import javax.swing.JPanel; -import java.awt.BorderLayout; -import java.awt.Component; import java.util.ArrayList; import java.util.List; +import java.awt.BorderLayout; +import java.awt.Component; /** * Created by shine on 2019/6/18. @@ -148,4 +148,8 @@ public abstract class AbstractMultiComponentPaneWithUISpinner { private List currentBoxItems = new ArrayList(); + public void setCurrentBoxItems(List currentBoxItems) { this.currentBoxItems = currentBoxItems; } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java index 82cc89a62..034e17fdb 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/AbstractDataSetFieldsPane.java @@ -17,10 +17,12 @@ import com.fr.stable.StringUtils; import javax.swing.BorderFactory; import javax.swing.JPanel; import javax.swing.SwingConstants; -import java.awt.BorderLayout; -import java.awt.Component; import java.util.Arrays; import java.util.List; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; import static com.fr.design.mainframe.chart.gui.data.table.DataPaneHelper.refreshBoxItems; @@ -95,7 +97,7 @@ public abstract class AbstractDataSetFieldsPane { @@ -54,7 +55,7 @@ public class FunnelCellDataFieldsPane extends AbstractCellDataFieldsWithSeriesVa ColumnFieldCollectionWithSeriesValue fieldCollection = new ColumnFieldCollectionWithSeriesValue(); updateSeriesValuePane(fieldCollection); SeriesValueCorrelationDefinition seriesValueCorrelationDefinition = fieldCollection.getSeriesValueCorrelationDefinition(); - filterPane.updateBean(seriesValueCorrelationDefinition.getFilterProperties()); + seriesValueCorrelationDefinition.setFilterProperties(filterPane.updateBean()); return fieldCollection; } diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/FunnelDataSetFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/FunnelDataSetFieldsPane.java index aa1c9fe28..ee15e3945 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/FunnelDataSetFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/FunnelDataSetFieldsPane.java @@ -14,6 +14,7 @@ import java.awt.BorderLayout; /** * Created by Wim on 2019/10/23. + * 饼图、多指针仪表盘 在组合图中 没有分类配置项, 也用这个。 */ public class FunnelDataSetFieldsPane extends AbstractDataSetFieldsWithSeriesValuePane { diff --git a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/GaugeCellDataFieldsPane.java b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/GaugeCellDataFieldsPane.java index c6f70dd3d..f93cf0eff 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/GaugeCellDataFieldsPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/fields/diff/GaugeCellDataFieldsPane.java @@ -69,7 +69,7 @@ public class GaugeCellDataFieldsPane extends AbstractCellDataFieldsPane { return; } - Type dataType = ((ParameterizedType) cellDataFieldsPane.getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - if (AssistUtils.equals(ob.getColumnFieldCollection().getClass(), dataType)) { - cellDataFieldsPane.populateBean(ob.getColumnFieldCollection()); - } + cellDataFieldsPane.populateBean(ob.getColumnFieldCollection()); } @Override diff --git a/designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java b/designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java index 5875b480a..87a3b5083 100644 --- a/designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java +++ b/designer-chart/src/main/java/com/fr/design/chartx/single/DataSetPane.java @@ -11,13 +11,10 @@ import com.fr.design.i18n.Toolkit; import com.fr.design.mainframe.chart.gui.ChartDataPane; import com.fr.design.mainframe.chart.gui.data.DatabaseTableDataPane; import com.fr.design.utils.gui.UIComponentUtils; -import com.fr.stable.AssistUtils; +import java.util.List; import java.awt.BorderLayout; import java.awt.Dimension; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.List; /** * Created by shine on 2019/5/21. @@ -53,6 +50,7 @@ public class DataSetPane extends FurtherBasicBeanPane { this.setLayout(new BorderLayout()); this.add(tableDataPane, BorderLayout.NORTH); this.add(dataSetFieldsPane, BorderLayout.CENTER); + checkBoxUse(); } /** @@ -105,14 +103,12 @@ public class DataSetPane extends FurtherBasicBeanPane { } refreshBoxList(); - checkBoxUse(); tableDataPane.populateBean(ob.getNameTableData()); - Type dataType = ((ParameterizedType) dataSetFieldsPane.getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - if (AssistUtils.equals(ob.getColumnFieldCollection().getClass(), dataType)) { - dataSetFieldsPane.populateBean(ob.getColumnFieldCollection()); - } + dataSetFieldsPane.populateBean(ob.getColumnFieldCollection()); + + checkBoxUse(); } @Override diff --git a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java index 8877ed9da..107e3b82d 100644 --- a/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java +++ b/designer-chart/src/main/java/com/fr/design/mainframe/chart/gui/ChartTypeButtonPane.java @@ -25,6 +25,9 @@ import javax.swing.BorderFactory; import javax.swing.BoxLayout; import javax.swing.JPanel; import javax.swing.SwingUtilities; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; @@ -41,9 +44,6 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.Set; /** * 图表 类型 增删 控制按钮界面. @@ -438,6 +438,7 @@ public class ChartTypeButtonPane extends BasicBeanPane implemen private void changeChartName(String name) { this.setText(name); + this.setToolTipText(name); buttonName = name; } diff --git a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java index 77347e0fd..6df855cd7 100644 --- a/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java +++ b/designer-chart/src/main/java/com/fr/extended/chart/UIComboBoxWithNone.java @@ -14,6 +14,11 @@ public class UIComboBoxWithNone extends UIComboBox { return Toolkit.i18nText("Fine-Design_Chart_Use_None"); } + public UIComboBoxWithNone() { + super(); + addDefaultItem(); + } + @Override public void refreshBoxItems(List list) { super.refreshBoxItems(list); diff --git a/designer-chart/src/main/java/com/fr/van/chart/bubble/BubbleIndependentVanChartInterface.java b/designer-chart/src/main/java/com/fr/van/chart/bubble/BubbleIndependentVanChartInterface.java index a00423ad7..d1494756e 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/bubble/BubbleIndependentVanChartInterface.java +++ b/designer-chart/src/main/java/com/fr/van/chart/bubble/BubbleIndependentVanChartInterface.java @@ -1,7 +1,6 @@ package com.fr.van.chart.bubble; import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.chartx.AbstractVanSingleDataPane; @@ -21,7 +20,6 @@ import com.fr.design.mainframe.chart.gui.data.report.BubblePlotReportDataContent import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane; import com.fr.plugin.chart.bubble.VanChartBubblePlot; -import com.fr.plugin.chart.vanchart.VanChart; import com.fr.van.chart.bubble.data.VanChartBubblePlotTableDataContentPane; import com.fr.van.chart.designer.other.VanChartInteractivePaneWithOutSort; import com.fr.van.chart.designer.other.VanChartOtherPane; @@ -127,24 +125,12 @@ public class BubbleIndependentVanChartInterface extends AbstractIndependentVanCh @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { return new AbstractVanSingleDataPane(listener) { - - VanChartBubblePlot plot; - - @Override - public void populate(ChartCollection collection) { - if (collection == null) { - return; - } - VanChart chart = collection.getSelectedChartProvider(VanChart.class); - if (chart == null) { - return; - } - plot = chart.getPlot(); - super.populate(collection); - } - @Override protected SingleDataPane createSingleDataPane() { + VanChartBubblePlot plot = null; + if (getVanChart() != null) { + plot = getVanChart().getPlot(); + } if (plot != null && plot.isForceBubble()) { return new SingleDataPane(new SingleCategoryDataSetFieldsPane(), new SingleCategoryCellDataFieldsPane()); } diff --git a/designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubblePlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubblePlotPane.java index 3e5bdd106..f07e20286 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubblePlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/bubble/VanChartBubblePlotPane.java @@ -7,7 +7,13 @@ import com.fr.chart.chartattr.Plot; import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionCollection; import com.fr.chartx.attr.ZoomAttribute; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.BubbleColumnFieldCollection; +import com.fr.chartx.data.field.diff.MultiCategoryColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.bubble.BubbleIndependentVanChart; import com.fr.plugin.chart.bubble.VanChartBubblePlot; @@ -33,26 +39,26 @@ public class VanChartBubblePlotPane extends AbstractVanChartTypePane { }; } - private void removeDefaultAttr(ConditionAttr conditionAttr, Class targetClass) { + private void removeDefaultAttr(ConditionAttr conditionAttr, Class targetClass) { DataSeriesCondition attr = conditionAttr.getExisted(targetClass); - if (attr != null){ + if (attr != null) { conditionAttr.remove(targetClass); } } - protected Plot getSelectedClonedPlot(){ + protected Plot getSelectedClonedPlot() { VanChartBubblePlot newPlot = null; Chart[] bubbleChart = BubbleIndependentVanChart.BubbleVanChartTypes; - for(int i = 0, len = bubbleChart.length; i < len; i++){ - if(typeDemo.get(i).isPressing){ - newPlot = (VanChartBubblePlot)bubbleChart[i].getPlot(); + for (int i = 0, len = bubbleChart.length; i < len; i++) { + if (typeDemo.get(i).isPressing) { + newPlot = (VanChartBubblePlot) bubbleChart[i].getPlot(); } } Plot cloned = null; try { - if(newPlot != null) { - cloned = (Plot) newPlot.clone(); - } + if (newPlot != null) { + cloned = (Plot) newPlot.clone(); + } } catch (CloneNotSupportedException e) { FineLoggerFactory.getLogger().error("Error In BubbleChart"); } @@ -64,16 +70,16 @@ public class VanChartBubblePlotPane extends AbstractVanChartTypePane { } @Override - /** - * 力學氣泡圖切換到其他氣泡圖時,刪除條件屬性 - * 并且将bubbleAttr属性重置 - */ - protected void cloneOldConditionCollection(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException{ + /** + * 力學氣泡圖切換到其他氣泡圖時,刪除條件屬性 + * 并且将bubbleAttr属性重置 + */ + protected void cloneOldConditionCollection(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException { cloneOldDefaultAttrConditionCollection(oldPlot, newPlot); } @Override - protected void cloneOldDefaultAttrConditionCollection(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException{ + protected void cloneOldDefaultAttrConditionCollection(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException { if (oldPlot.getConditionCollection() != null) { ConditionCollection newCondition = new ConditionCollection(); newCondition.setDefaultAttr((ConditionAttr) oldPlot.getConditionCollection().getDefaultAttr().clone()); @@ -88,7 +94,7 @@ public class VanChartBubblePlotPane extends AbstractVanChartTypePane { removeDefaultAttr(attrList, ScatterAttrLabel.class); AttrAlpha attrAlpha = new AttrAlpha(); - attrAlpha.setAlpha(((VanChartBubblePlot)newPlot).isForceBubble() ? FORCE_ALPHA : ALPHA); + attrAlpha.setAlpha(((VanChartBubblePlot) newPlot).isForceBubble() ? FORCE_ALPHA : ALPHA); attrList.addDataSeriesCondition(attrAlpha); } @@ -96,8 +102,8 @@ public class VanChartBubblePlotPane extends AbstractVanChartTypePane { @Override protected void cloneHotHyperLink(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException { - if(oldPlot instanceof VanChartBubblePlot && newPlot instanceof VanChartBubblePlot){ - if(((VanChartBubblePlot) oldPlot).isForceBubble() == ((VanChartBubblePlot) newPlot).isForceBubble()){ + if (oldPlot instanceof VanChartBubblePlot && newPlot instanceof VanChartBubblePlot) { + if (((VanChartBubblePlot) oldPlot).isForceBubble() == ((VanChartBubblePlot) newPlot).isForceBubble()) { super.cloneHotHyperLink(oldPlot, newPlot); } } @@ -112,12 +118,27 @@ public class VanChartBubblePlotPane extends AbstractVanChartTypePane { /** * 气泡图相同图表类型之间切换的时候,chart的部分属性也需要重置 + * * @param chart */ @Override - protected void resetChartAttr4SamePlot(Chart chart){ + protected void resetChartAttr4SamePlot(Chart chart) { ((VanChart) chart).setZoomAttribute(new ZoomAttribute()); //重置监控刷新选项 - resetRefreshMoreLabelAttr((VanChart)chart); + resetRefreshMoreLabelAttr((VanChart) chart); + } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if (definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + boolean isForce = ((VanChartBubblePlot) vanChartPlot).isForceBubble(); + if (isForce) { + return columnFieldCollection instanceof MultiCategoryColumnFieldCollection; + } + return columnFieldCollection instanceof BubbleColumnFieldCollection; + + } + return false; } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotPane.java index 70431b2e7..5e6953746 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/custom/VanChartCustomPlotPane.java @@ -7,11 +7,13 @@ import com.fr.chart.chartattr.Plot; import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionCollection; import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; import com.fr.chartx.data.CustomChartDataDefinition; import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayoutHelper; import com.fr.design.mainframe.chart.gui.type.ChartImagePane; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartAttrLine; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.custom.CustomDefinition; @@ -295,4 +297,9 @@ public class VanChartCustomPlotPane extends AbstractVanChartTypePane { } } } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + return definition instanceof CustomDefinition; + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java index 2d4245148..b29e75265 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartPlotLegendPane.java @@ -176,7 +176,7 @@ public class VanChartPlotLegendPane extends BasicPane { initPositionListener(); JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components,row,col); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout_Position"), panel); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Form_Layout"), panel); } private void initPositionListener(){ diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java index 01610a245..92df8bc6b 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/VanChartTitlePane.java @@ -160,7 +160,7 @@ public class VanChartTitlePane extends AbstractVanChartScrollPane { initPositionListener(); JPanel panel = TableLayout4VanChartHelper.createGapTableLayoutPane(components,row,col); - return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Chart_Layout"), panel); + return TableLayout4VanChartHelper.createExpandablePaneWithTitle(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Form_Layout"), panel); } private JPanel createTitleStylePane(){ diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java index 0949dbf6e..8b309840e 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartBaseAxisPane.java @@ -118,7 +118,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { new Component[]{createLabelPane(new double[]{p, p}, column), null}, new Component[]{createLineStylePane(new double[]{p, p, p, p, p}, columnSize), null}, new Component[]{createAxisPositionPane(new double[]{p, p, p}, columnSize, isXAxis), null}, - new Component[]{createDisplayStrategy(new double[]{p, p, p}, columnSize), null}, + new Component[]{createDisplayStrategy(), null}, new Component[]{createValueStylePane(), null}, }; @@ -326,7 +326,7 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { } } - protected JPanel createDisplayStrategy(double[] row, double[] col){ + protected JPanel createDisplayStrategy(){ limitPane = new LimitPane(); return limitPane; } @@ -385,7 +385,9 @@ public class VanChartBaseAxisPane extends FurtherBasicBeanPane { protected void checkAllUse() { checkCardPane(); checkLabelPane(); - limitPane.checkMaxProPortionUse(); + if (limitPane != null){ + limitPane.checkMaxProPortionUse(); + } } protected void checkCardPane() { diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartTimeAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartTimeAxisPane.java index 74dbf7221..2d408c905 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartTimeAxisPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartTimeAxisPane.java @@ -73,7 +73,7 @@ public class VanChartTimeAxisPane extends VanChartBaseAxisPane { new Component[]{createValueDefinition(),null}, new Component[]{createLineStylePane(new double[]{p, p,p,p,p}, columnSize),null}, new Component[]{createAxisPositionPane(new double[]{p, p, p}, columnSize, isXAxis),null}, - new Component[]{createDisplayStrategy(new double[]{p, p,p}, columnSize),null}, + new Component[]{createDisplayStrategy(),null}, new Component[]{createValueStylePane(),null}, }; diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartValueAxisPane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartValueAxisPane.java index 3b271f2b3..2b90633e6 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartValueAxisPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/style/axis/VanChartValueAxisPane.java @@ -54,7 +54,7 @@ public class VanChartValueAxisPane extends VanChartBaseAxisPane { new Component[]{createMinMaxValuePane(new double[]{p, p}, columnSize), null}, new Component[]{createLineStylePane(new double[]{p, p, p, p, p}, columnSize), null}, new Component[]{createAxisPositionPane(new double[]{p, p, p}, columnSize, isXAxis), null}, - new Component[]{createDisplayStrategy(new double[]{p, p, p}, columnSize), null}, + new Component[]{createDisplayStrategy(), null}, new Component[]{createValueStylePane(), null}, }; diff --git a/designer-chart/src/main/java/com/fr/van/chart/designer/type/AbstractVanChartTypePane.java b/designer-chart/src/main/java/com/fr/van/chart/designer/type/AbstractVanChartTypePane.java index deb285fc7..a2881821e 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/designer/type/AbstractVanChartTypePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/designer/type/AbstractVanChartTypePane.java @@ -8,6 +8,10 @@ import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionCollection; import com.fr.chart.chartglyph.DataSheet; import com.fr.chartx.attr.ZoomAttribute; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.MultiCategoryColumnFieldCollection; import com.fr.design.ChartTypeInterfaceManager; import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.ilable.MultilineLabel; @@ -107,6 +111,18 @@ public abstract class AbstractVanChartTypePane extends AbstractChartTypePane()); drillMapPlot.setLayerMapTypeList(new ArrayList()); } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + return definition instanceof DrillMapDefinition; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/type/VanChartFunnelTypePane.java b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/type/VanChartFunnelTypePane.java index 884f21100..444f9a4d8 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/type/VanChartFunnelTypePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/funnel/designer/type/VanChartFunnelTypePane.java @@ -2,7 +2,12 @@ package com.fr.van.chart.funnel.designer.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.ColumnFieldCollectionWithSeriesValue; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.funnel.FunnelIndependentVanChart; import com.fr.plugin.chart.funnel.VanChartFunnelPlot; @@ -43,4 +48,13 @@ public class VanChartFunnelTypePane extends AbstractVanChartTypePane { public Chart getDefaultChart() { return FunnelIndependentVanChart.FunnelVanChartTypes[0]; } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if (definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + return columnFieldCollection.getClass().equals(ColumnFieldCollectionWithSeriesValue.class); + } + return false; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/type/VanChartGanttPlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/type/VanChartGanttPlotPane.java index 367041ae0..5e63dab7a 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/type/VanChartGanttPlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/gantt/designer/type/VanChartGanttPlotPane.java @@ -2,7 +2,10 @@ package com.fr.van.chart.gantt.designer.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.GanttChartDataDefinition; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.gantt.GanttIndependentVanChart; import com.fr.plugin.chart.gantt.VanChartGanttPlot; import com.fr.van.chart.designer.type.AbstractVanChartTypePane; @@ -21,16 +24,21 @@ public class VanChartGanttPlotPane extends AbstractVanChartTypePane { return GanttIndependentVanChart.ganttVanChartTypes[0]; } - protected Plot getSelectedClonedPlot(){ + protected Plot getSelectedClonedPlot() { Chart chart = getDefaultChart(); VanChartGanttPlot newPlot = (VanChartGanttPlot) chart.getPlot(); Plot cloned = null; try { - cloned = (Plot)newPlot.clone(); + cloned = (Plot) newPlot.clone(); } catch (CloneNotSupportedException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } return cloned; } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + return definition instanceof GanttChartDataDefinition; + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/gauge/GaugeIndependentVanChartInterface.java b/designer-chart/src/main/java/com/fr/van/chart/gauge/GaugeIndependentVanChartInterface.java index d19ea6a46..b6360c118 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/gauge/GaugeIndependentVanChartInterface.java +++ b/designer-chart/src/main/java/com/fr/van/chart/gauge/GaugeIndependentVanChartInterface.java @@ -1,6 +1,5 @@ package com.fr.van.chart.gauge; -import com.fr.chart.chartattr.ChartCollection; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.chartx.AbstractVanSingleDataPane; @@ -22,7 +21,6 @@ import com.fr.design.mainframe.chart.gui.data.table.CategoryPlotTableDataContent import com.fr.design.mainframe.chart.gui.data.table.MeterPlotTableDataContentPane; import com.fr.design.mainframe.chart.gui.type.AbstractChartTypePane; import com.fr.plugin.chart.gauge.VanChartGaugePlot; -import com.fr.plugin.chart.vanchart.VanChart; import com.fr.van.chart.custom.component.CategoryCustomPlotTableDataContentPane; import com.fr.van.chart.custom.component.MeterCustomPlotReportDataContentPane; import com.fr.van.chart.custom.component.MeterCustomPlotTableDataContentPane; @@ -72,10 +70,10 @@ public class GaugeIndependentVanChartInterface extends AbstractIndependentVanCha return new VanChartGaugePlotPane(); } - public AbstractTableDataContentPane getTableDataSourcePane(Plot plot, ChartDataPane parent){ - if(plot instanceof VanChartGaugePlot){ - VanChartGaugePlot gaugePlot = (VanChartGaugePlot)plot; - switch (gaugePlot.getGaugeStyle()){ + public AbstractTableDataContentPane getTableDataSourcePane(Plot plot, ChartDataPane parent) { + if (plot instanceof VanChartGaugePlot) { + VanChartGaugePlot gaugePlot = (VanChartGaugePlot) plot; + switch (gaugePlot.getGaugeStyle()) { case POINTER: return gaugePlot.isInCustom() ? new CategoryCustomPlotTableDataContentPane(parent) : new CategoryPlotTableDataContentPane(parent); case POINTER_SEMI: @@ -84,13 +82,13 @@ public class GaugeIndependentVanChartInterface extends AbstractIndependentVanCha break; } } - return ((VanChartGaugePlot)plot).isInCustom() ? new MeterCustomPlotTableDataContentPane(parent) : new MeterPlotTableDataContentPane(parent); + return ((VanChartGaugePlot) plot).isInCustom() ? new MeterCustomPlotTableDataContentPane(parent) : new MeterPlotTableDataContentPane(parent); } - public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent){ - if(plot instanceof VanChartGaugePlot){ - VanChartGaugePlot gaugePlot = (VanChartGaugePlot)plot; - switch (gaugePlot.getGaugeStyle()){ + public AbstractReportDataContentPane getReportDataSourcePane(Plot plot, ChartDataPane parent) { + if (plot instanceof VanChartGaugePlot) { + VanChartGaugePlot gaugePlot = (VanChartGaugePlot) plot; + switch (gaugePlot.getGaugeStyle()) { case POINTER: return new CategoryPlotReportDataContentPane(parent); case POINTER_SEMI: @@ -104,40 +102,28 @@ public class GaugeIndependentVanChartInterface extends AbstractIndependentVanCha /** * 图表的属性界面数组 + * * @return 属性界面 */ - public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener){ + public AbstractChartAttrPane[] getAttrPaneArray(AttributeChangeListener listener) { VanChartStylePane stylePane = new VanChartGaugeStylePane(listener); VanChartOtherPane otherPane = new VanChartOtherPane(); return new AbstractChartAttrPane[]{stylePane, otherPane}; } - public BasicBeanPane getPlotSeriesPane(ChartStylePane parent, Plot plot){ + public BasicBeanPane getPlotSeriesPane(ChartStylePane parent, Plot plot) { return new VanChartGaugeSeriesPane(parent, plot); } @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { return new AbstractVanSingleDataPane(listener) { - - VanChartGaugePlot gaugePlot; - - @Override - public void populate(ChartCollection collection) { - if (collection == null) { - return; - } - VanChart chart = collection.getSelectedChartProvider(VanChart.class); - if (chart == null) { - return; - } - gaugePlot = chart.getPlot(); - - super.populate(collection); - } - @Override protected SingleDataPane createSingleDataPane() { + VanChartGaugePlot gaugePlot = null; + if (getVanChart() != null) { + gaugePlot = getVanChart().getPlot(); + } if (gaugePlot != null && !gaugePlot.isMultiPointer()) { return new SingleDataPane(new GaugeDataSetFieldsPane(), new GaugeCellDataFieldsPane()); } diff --git a/designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugePlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugePlotPane.java index 4ae860669..1ede3efb3 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugePlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/gauge/VanChartGaugePlotPane.java @@ -2,9 +2,16 @@ package com.fr.van.chart.gauge; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.GaugeColumnFieldCollection; +import com.fr.chartx.data.field.diff.MultiCategoryColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.gauge.GaugeIndependentVanChart; import com.fr.plugin.chart.gauge.VanChartGaugePlot; +import com.fr.plugin.chart.type.GaugeStyle; import com.fr.van.chart.designer.type.AbstractVanChartTypePane; /** @@ -73,4 +80,23 @@ public class VanChartGaugePlotPane extends AbstractVanChartTypePane { } } } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if(definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + GaugeStyle gaugeStyle = ((VanChartGaugePlot) vanChartPlot).getGaugeStyle(); + switch (gaugeStyle) { + case RING: + case SLOT: + case THERMOMETER: + return columnFieldCollection instanceof GaugeColumnFieldCollection; + case POINTER: + case POINTER_SEMI: + default: + return columnFieldCollection instanceof MultiCategoryColumnFieldCollection; + } + } + return false; + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/type/VanChartHeatMapTypePane.java b/designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/type/VanChartHeatMapTypePane.java index 6ffd80055..43f03a13d 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/type/VanChartHeatMapTypePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/heatmap/designer/type/VanChartHeatMapTypePane.java @@ -2,8 +2,10 @@ package com.fr.van.chart.heatmap.designer.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.ChartDataDefinitionProvider; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.heatmap.HeatMapIndependentVanChart; import com.fr.plugin.chart.heatmap.VanChartHeatMapPlot; @@ -70,4 +72,9 @@ public class VanChartHeatMapTypePane extends VanChartMapPlotPane { public Chart getDefaultChart() { return HeatMapIndependentVanChart.HeatMapVanCharts[0]; } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + return false; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/VanChartMapPlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/VanChartMapPlotPane.java index 669865220..8f44c0a9b 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/VanChartMapPlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/map/designer/type/VanChartMapPlotPane.java @@ -2,9 +2,12 @@ package com.fr.van.chart.map.designer.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.MapChartDataDefinition; import com.fr.design.mainframe.chart.gui.type.ChartImagePane; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.map.MapIndependentVanChart; import com.fr.plugin.chart.map.VanChartMapPlot; @@ -31,10 +34,10 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { }; } - protected Component[][] getPaneComponents(JPanel typePane){ + protected Component[][] getPaneComponents(JPanel typePane) { try { sourceChoosePane = createSourceChoosePane(); - } catch (Exception e){ + } catch (Exception e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } return new Component[][]{ @@ -51,10 +54,10 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { * 更新界面内容 */ public void populateBean(Chart chart) { - for(ChartImagePane imagePane : typeDemo) { + for (ChartImagePane imagePane : typeDemo) { imagePane.isPressing = false; } - VanChartMapPlot plot = (VanChartMapPlot)chart.getPlot(); + VanChartMapPlot plot = (VanChartMapPlot) chart.getPlot(); typeDemo.get(plot.getDetailType()).isPressing = true; populateSourcePane(plot); @@ -69,7 +72,7 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { protected void populateSourcePane(VanChartMapPlot plot) { //populate需要使用clone的plot try { - VanChartMapPlot mapPlot = (VanChartMapPlot)plot.clone(); + VanChartMapPlot mapPlot = (VanChartMapPlot) plot.clone(); sourceChoosePane.populateBean(mapPlot); } catch (CloneNotSupportedException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); @@ -79,9 +82,9 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { public void updateBean(Chart chart) { super.updateBean(chart); Plot plot = chart.getPlot(); - if(plot instanceof VanChartMapPlot) { + if (plot instanceof VanChartMapPlot) { sourceChoosePane.updateBean((VanChartMapPlot) plot); - if(!isSamePlot() || (typeChanged && isSamePlot())){ + if (!isSamePlot() || (typeChanged && isSamePlot())) { resetAttr(plot); } } @@ -89,11 +92,12 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { /** * 不同地图类型的超链不需要复制 + * * @param oldPlot * @param newPlot * @throws CloneNotSupportedException */ - protected void cloneHotHyperLink(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException{ + protected void cloneHotHyperLink(Plot oldPlot, Plot newPlot) throws CloneNotSupportedException { } @@ -106,11 +110,11 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { sourceChoosePane.resetComponentValue((VanChartMapPlot) plot); } - protected Plot getSelectedClonedPlot(){ + protected Plot getSelectedClonedPlot() { VanChartMapPlot newPlot = null; Chart[] charts = getDefaultCharts(); - for(int i = 0, len = charts.length; i < len; i++){ - if(typeDemo.get(i).isPressing){ + for (int i = 0, len = charts.length; i < len; i++) { + if (typeDemo.get(i).isPressing) { newPlot = (VanChartMapPlot) charts[i].getPlot(); } } @@ -119,7 +123,7 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { return cloned; } try { - cloned = (Plot)newPlot.clone(); + cloned = (Plot) newPlot.clone(); } catch (CloneNotSupportedException e) { FineLoggerFactory.getLogger().error(e.getMessage(), e); } @@ -142,8 +146,12 @@ public class VanChartMapPlotPane extends AbstractVanChartTypePane { return MapIndependentVanChart.MapVanCharts[0]; } - public VanChartMapSourceChoosePane getSourceChoosePane(){ + public VanChartMapSourceChoosePane getSourceChoosePane() { return this.sourceChoosePane; } + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + return definition instanceof MapChartDataDefinition; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/multilayer/VanChartMultiPiePlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/multilayer/VanChartMultiPiePlotPane.java index 397a11892..555cca468 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/multilayer/VanChartMultiPiePlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/multilayer/VanChartMultiPiePlotPane.java @@ -2,7 +2,12 @@ package com.fr.van.chart.multilayer; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.MultiPieColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.multilayer.MultiPieIndependentVanChart; import com.fr.plugin.chart.multilayer.VanChartMultiPiePlot; @@ -20,11 +25,11 @@ public class VanChartMultiPiePlotPane extends AbstractVanChartTypePane { } @Override - protected Plot getSelectedClonedPlot(){ + protected Plot getSelectedClonedPlot() { VanChartMultiPiePlot newPlot = null; Chart[] multilayerCharts = MultiPieIndependentVanChart.MultilayerVanChartTypes; - for(int i = 0, len = multilayerCharts.length; i < len; i++){ - if(typeDemo.get(i).isPressing){ + for (int i = 0, len = multilayerCharts.length; i < len; i++) { + if (typeDemo.get(i).isPressing) { newPlot = (VanChartMultiPiePlot) multilayerCharts[i].getPlot(); } } @@ -34,7 +39,7 @@ public class VanChartMultiPiePlotPane extends AbstractVanChartTypePane { return cloned; } try { - cloned = (Plot)newPlot.clone(); + cloned = (Plot) newPlot.clone(); } catch (CloneNotSupportedException e) { FineLoggerFactory.getLogger().error("Error In MultiPieChart"); } @@ -43,13 +48,14 @@ public class VanChartMultiPiePlotPane extends AbstractVanChartTypePane { /** * 防止新建其他图表从而切换很卡 + * * @return */ public Chart getDefaultChart() { return MultiPieIndependentVanChart.MultilayerVanChartTypes[0]; } - protected void resetChartAttr(Chart chart, Plot newPlot){ + protected void resetChartAttr(Chart chart, Plot newPlot) { super.resetChartAttr(chart, newPlot); //重置工具栏选项 VanChartTools tools = ((VanChart) chart).getVanChartTools(); @@ -59,4 +65,13 @@ public class VanChartMultiPiePlotPane extends AbstractVanChartTypePane { tools.setExport(false); } } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if (definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + return columnFieldCollection instanceof MultiPieColumnFieldCollection; + } + return false; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/range/component/SectionIntervalConfigPane.java b/designer-chart/src/main/java/com/fr/van/chart/range/component/SectionIntervalConfigPane.java index 94bb9a4da..f4103e0d2 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/range/component/SectionIntervalConfigPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/range/component/SectionIntervalConfigPane.java @@ -3,8 +3,9 @@ package com.fr.van.chart.range.component; import com.fr.design.gui.frpane.AbstractAttrNoScrollPane; import com.fr.design.gui.ilable.BoldFontTextLabel; import com.fr.design.layout.TableLayout; +import com.fr.design.mainframe.chart.gui.ColorSelectBoxWithOutTransparent; import com.fr.design.mainframe.chart.gui.style.series.MapColorPickerPaneWithFormula; - +import com.fr.design.style.color.ColorSelectBox; import java.awt.Component; @@ -34,4 +35,9 @@ public class SectionIntervalConfigPane extends MapColorPickerPaneWithFormula { }; } + + @Override + protected ColorSelectBox getColorSelectBox() { + return new ColorSelectBoxWithOutTransparent(100); + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterPlotPane.java b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterPlotPane.java index b2d6be16e..f93051a74 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterPlotPane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/scatter/VanChartScatterPlotPane.java @@ -5,7 +5,12 @@ import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; import com.fr.chart.chartglyph.ConditionAttr; import com.fr.chart.chartglyph.ConditionCollection; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.BubbleColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartAttrLine; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.scatter.ScatterIndependentVanChart; @@ -81,4 +86,13 @@ public class VanChartScatterPlotPane extends AbstractVanChartTypePane { } } } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if(definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + return columnFieldCollection instanceof BubbleColumnFieldCollection; + } + return false; + } } \ No newline at end of file diff --git a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/type/VanChartStructureTypePane.java b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/type/VanChartStructureTypePane.java index 1674c850c..96544a56a 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/type/VanChartStructureTypePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/structure/desinger/type/VanChartStructureTypePane.java @@ -2,7 +2,12 @@ package com.fr.van.chart.structure.desinger.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.StructureColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.structure.StructureIndependentVanChart; import com.fr.plugin.chart.structure.VanChartStructurePlot; @@ -54,4 +59,12 @@ public class VanChartStructureTypePane extends AbstractVanChartTypePane { return WordCloudIndependentVanChart.WordCloudVanCharts[0]; } + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if(definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + return columnFieldCollection instanceof StructureColumnFieldCollection; + } + return false; + } } diff --git a/designer-chart/src/main/java/com/fr/van/chart/vanchart/AbstractMultiCategoryVanChartUI.java b/designer-chart/src/main/java/com/fr/van/chart/vanchart/AbstractMultiCategoryVanChartUI.java index 6cd2743fe..3aec1f671 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/vanchart/AbstractMultiCategoryVanChartUI.java +++ b/designer-chart/src/main/java/com/fr/van/chart/vanchart/AbstractMultiCategoryVanChartUI.java @@ -1,6 +1,7 @@ package com.fr.van.chart.vanchart; import com.fr.chart.chartattr.Chart; +import com.fr.chart.chartattr.ChartCollection; import com.fr.chart.chartattr.Plot; import com.fr.design.beans.BasicBeanPane; import com.fr.design.chartx.AbstractVanSingleDataPane; @@ -14,7 +15,13 @@ import com.fr.design.mainframe.chart.gui.data.report.AbstractReportDataContentPa import com.fr.design.mainframe.chart.gui.data.report.CategoryPlotReportDataContentPane; import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; import com.fr.design.mainframe.chart.gui.data.table.CategoryPlotTableDataContentPane; +import com.fr.general.ComparatorUtils; +import com.fr.plugin.chart.attr.axis.VanChartAxis; import com.fr.plugin.chart.attr.plot.VanChartPlot; +import com.fr.plugin.chart.attr.plot.VanChartRectanglePlot; +import com.fr.plugin.chart.column.VanChartColumnPlot; +import com.fr.plugin.chart.type.AxisType; +import com.fr.plugin.chart.vanchart.VanChart; import com.fr.van.chart.designer.data.VanChartMoreCateReportDataContentPane; import com.fr.van.chart.designer.data.VanChartMoreCateTableDataContentPane; import com.fr.van.chart.designer.other.VanChartInteractivePane; @@ -68,9 +75,33 @@ public abstract class AbstractMultiCategoryVanChartUI extends AbstractIndependen @Override public ChartDataPane getChartDataPane(AttributeChangeListener listener) { return new AbstractVanSingleDataPane(listener) { + MultiCategoryDataSetFieldsPane multiCategoryDataSetFieldsPane; + MultiCategoryCellDataFieldsPane multiCategoryCellDataFieldsPane; + @Override protected SingleDataPane createSingleDataPane() { - return new SingleDataPane(new MultiCategoryDataSetFieldsPane(), new MultiCategoryCellDataFieldsPane()); + multiCategoryDataSetFieldsPane = new MultiCategoryDataSetFieldsPane(); + multiCategoryCellDataFieldsPane = new MultiCategoryCellDataFieldsPane(); + return new SingleDataPane(multiCategoryDataSetFieldsPane, multiCategoryCellDataFieldsPane); + } + + @Override + public void populate(ChartCollection collection) { + super.populate(collection); + VanChart vanChart = this.getVanChart(); + if (vanChart == null) { + return; + } + + VanChartRectanglePlot plot = vanChart.getPlot(); + VanChartAxis axis = plot.getDefaultXAxis(); + if (plot instanceof VanChartColumnPlot + && ((VanChartColumnPlot) plot).isBar()) { + axis = plot.getDefaultYAxis(); + } + + multiCategoryDataSetFieldsPane.setCategoryAxis(ComparatorUtils.equals(axis.getAxisType(), AxisType.AXIS_CATEGORY)); + multiCategoryCellDataFieldsPane.setCategoryAxis(ComparatorUtils.equals(axis.getAxisType(), AxisType.AXIS_CATEGORY)); } }; } diff --git a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/type/VanChartWordCloudTypePane.java b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/type/VanChartWordCloudTypePane.java index 1a75c18e1..99f330e06 100644 --- a/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/type/VanChartWordCloudTypePane.java +++ b/designer-chart/src/main/java/com/fr/van/chart/wordcloud/designer/type/VanChartWordCloudTypePane.java @@ -2,7 +2,12 @@ package com.fr.van.chart.wordcloud.designer.type; import com.fr.chart.chartattr.Chart; import com.fr.chart.chartattr.Plot; +import com.fr.chartx.data.AbstractDataDefinition; +import com.fr.chartx.data.ChartDataDefinitionProvider; +import com.fr.chartx.data.field.AbstractColumnFieldCollection; +import com.fr.chartx.data.field.diff.WordCloudColumnFieldCollection; import com.fr.log.FineLoggerFactory; +import com.fr.plugin.chart.attr.plot.VanChartPlot; import com.fr.plugin.chart.base.VanChartTools; import com.fr.plugin.chart.wordcloud.VanChartWordCloudPlot; import com.fr.plugin.chart.wordcloud.WordCloudIndependentVanChart; @@ -63,4 +68,13 @@ public class VanChartWordCloudTypePane extends AbstractVanChartTypePane { public Chart getDefaultChart() { return WordCloudIndependentVanChart.WordCloudVanCharts[0]; } + + @Override + protected boolean acceptDefinition(ChartDataDefinitionProvider definition, VanChartPlot vanChartPlot) { + if(definition instanceof AbstractDataDefinition) { + AbstractColumnFieldCollection columnFieldCollection = ((AbstractDataDefinition) definition).getColumnFieldCollection(); + return columnFieldCollection instanceof WordCloudColumnFieldCollection; + } + return false; + } } diff --git a/designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java b/designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java index 8d43e08e2..9df0a3201 100644 --- a/designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java +++ b/designer-form/src/main/java/com/fr/design/widget/FormWidgetDefinePaneFactoryBase.java @@ -106,7 +106,6 @@ public class FormWidgetDefinePaneFactoryBase { defineMap.put(FreeButton.class, new Appearance(FreeButtonDefinePane.class, WidgetConstants.BUTTON + "")); defineMap.put(FormSubmitButton.class, new Appearance(FreeButtonDefinePane.class, WidgetConstants.BUTTON + "")); defineMap.put(WFitLayout.class, new Appearance(FRFitLayoutDefinePane.class, "wFitLayout")); - defineMap.put(WCardMainBorderLayout.class, new Appearance(WCardMainLayoutDefinePane.class, "wCardMainBorderLayout")); if (StableFactory.getMarkedClass(BridgeMark.CHART_EDITOR, AbstractBorderStyleWidget.class) != null) { defineMap.put(StableFactory.getMarkedClass(BridgeMark.CHART_EDITOR, AbstractBorderStyleWidget.class), new Appearance(BorderStyleWidgetDefinePane.class, "chartEditor")); }