|
|
|
@ -75,22 +75,22 @@ import java.util.ArrayList;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Set; |
|
|
|
|
|
|
|
|
|
public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIObserver{ |
|
|
|
|
private static final long serialVersionUID = 3477409806918835992L; |
|
|
|
|
public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIObserver { |
|
|
|
|
private static final long serialVersionUID = 3477409806918835992L; |
|
|
|
|
private static HashMap normalMap = new HashMap(); |
|
|
|
|
|
|
|
|
|
private static final int TIME_SWITCH_GAP = 40; |
|
|
|
|
|
|
|
|
|
private UICheckBox isChartAnimation;// 动态
|
|
|
|
|
private UICheckBox isChartAnimation;// 动态
|
|
|
|
|
private UICheckBox isSeriesDragEnable; //系列拖拽
|
|
|
|
|
|
|
|
|
|
private UICheckBox isAxisZoom;// 缩放
|
|
|
|
|
|
|
|
|
|
private UICheckBox isDatapointValue;// 数据点提示
|
|
|
|
|
private UIButton dataPointValueFormat; |
|
|
|
|
private UICheckBox isDatapointValue;// 数据点提示
|
|
|
|
|
private UIButton dataPointValueFormat; |
|
|
|
|
|
|
|
|
|
private UICheckBox isDatapointPercent; |
|
|
|
|
private UIButton dataPointPercentFormat; |
|
|
|
|
private UICheckBox isDatapointPercent; |
|
|
|
|
private UIButton dataPointPercentFormat; |
|
|
|
|
|
|
|
|
|
private UILabel tooltipStyleLabel; |
|
|
|
|
private UIComboBox tooltipStyle; |
|
|
|
@ -102,24 +102,24 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
private UICheckBox isAddress; |
|
|
|
|
private UICheckBox isAddressName; |
|
|
|
|
|
|
|
|
|
private UICheckBox isAxisShowToolTip;// 坐标轴提示
|
|
|
|
|
private UICheckBox isAxisShowToolTip;// 坐标轴提示
|
|
|
|
|
|
|
|
|
|
protected UICheckBox isAutoRefresh;// 自动刷新
|
|
|
|
|
protected UISpinner autoRefreshTime; |
|
|
|
|
protected UICheckBox isAutoRefresh;// 自动刷新
|
|
|
|
|
protected UISpinner autoRefreshTime; |
|
|
|
|
|
|
|
|
|
private UICorrelationComboBoxPane superLink;// 超链
|
|
|
|
|
private UICorrelationComboBoxPane superLink;// 超链
|
|
|
|
|
|
|
|
|
|
private FormatPane valueFormatPane; |
|
|
|
|
private FormatPane percentFormatPane; |
|
|
|
|
private Format valueFormat; |
|
|
|
|
private Format percentFormat; |
|
|
|
|
private FormatPane valueFormatPane; |
|
|
|
|
private FormatPane percentFormatPane; |
|
|
|
|
private Format valueFormat; |
|
|
|
|
private Format percentFormat; |
|
|
|
|
|
|
|
|
|
private JPanel tooltipPane; |
|
|
|
|
private JPanel axisShowPane; |
|
|
|
|
private JPanel autoRefreshPane; |
|
|
|
|
private JPanel superlinkPane; |
|
|
|
|
private JPanel tooltipPane; |
|
|
|
|
private JPanel axisShowPane; |
|
|
|
|
private JPanel autoRefreshPane; |
|
|
|
|
private JPanel superlinkPane; |
|
|
|
|
|
|
|
|
|
private ChartOtherPane parent; |
|
|
|
|
private ChartOtherPane parent; |
|
|
|
|
|
|
|
|
|
private UICheckBox timeSwitch; |
|
|
|
|
|
|
|
|
@ -128,47 +128,49 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
|
|
|
|
|
protected Plot plot; |
|
|
|
|
|
|
|
|
|
private static final int SIZEX = 258; |
|
|
|
|
private static final int SIZEY = 209; |
|
|
|
|
private static final int DET = 20; |
|
|
|
|
public ChartInteractivePane(ChartOtherPane parent) { |
|
|
|
|
super(); |
|
|
|
|
this.parent = parent; |
|
|
|
|
} |
|
|
|
|
private static final int SIZEX = 258; |
|
|
|
|
private static final int SIZEY = 209; |
|
|
|
|
private static final int DET = 20; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 界面标题. |
|
|
|
|
public ChartInteractivePane(ChartOtherPane parent) { |
|
|
|
|
super(); |
|
|
|
|
this.parent = parent; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 界面标题. |
|
|
|
|
* |
|
|
|
|
* @return 返回标题. |
|
|
|
|
*/ |
|
|
|
|
public String title4PopupWindow() { |
|
|
|
|
return Inter.getLocText("Chart-Interactive_Tab"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected JPanel createContentPane() { |
|
|
|
|
isChartAnimation = new UICheckBox(Inter.getLocText("Chart-Animation_JSShow")); |
|
|
|
|
*/ |
|
|
|
|
public String title4PopupWindow() { |
|
|
|
|
return Inter.getLocText("Chart-Interactive_Tab"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected JPanel createContentPane() { |
|
|
|
|
isChartAnimation = new UICheckBox(Inter.getLocText("Chart-Animation_JSShow")); |
|
|
|
|
isSeriesDragEnable = new UICheckBox(Inter.getLocText("Chart-Series_Drag")); |
|
|
|
|
|
|
|
|
|
isDatapointValue = new UICheckBox(Inter.getLocText("Chart-Use_Value")); |
|
|
|
|
dataPointValueFormat = new UIButton(Inter.getLocText("Chart-Use_Format")); |
|
|
|
|
isDatapointPercent = new UICheckBox(Inter.getLocText("Chart-Value_Percent")); |
|
|
|
|
dataPointPercentFormat = new UIButton(Inter.getLocText("Chart-Use_Format")); |
|
|
|
|
tooltipStyle = new UIComboBox(new String []{Inter.getLocText("Chart-White_Black"), Inter.getLocText("Chart-Black_White")}); |
|
|
|
|
isDatapointValue = new UICheckBox(Inter.getLocText("Chart-Use_Value")); |
|
|
|
|
dataPointValueFormat = new UIButton(Inter.getLocText("Chart-Use_Format")); |
|
|
|
|
isDatapointPercent = new UICheckBox(Inter.getLocText("Chart-Value_Percent")); |
|
|
|
|
dataPointPercentFormat = new UIButton(Inter.getLocText("Chart-Use_Format")); |
|
|
|
|
tooltipStyle = new UIComboBox(new String[]{Inter.getLocText("Chart-White_Black"), Inter.getLocText("Chart-Black_White")}); |
|
|
|
|
tooltipStyleLabel = new UILabel(Inter.getLocText("Chart-Style_Name")); |
|
|
|
|
tooltipShowType = new UIComboBox(new String []{Inter.getLocText("Chart-Series_SingleData"), Inter.getLocText("Chart-Series_AllData")}); |
|
|
|
|
tooltipShowType = new UIComboBox(new String[]{Inter.getLocText("Chart-Series_SingleData"), Inter.getLocText("Chart-Series_AllData")}); |
|
|
|
|
tooltipShowTypeLabel = new UILabel(Inter.getLocText("Chart-Use_Show")); |
|
|
|
|
|
|
|
|
|
isAddressTittle = new UICheckBox(Inter.getLocText("Chart-Area_Title")); |
|
|
|
|
isAddress = new UICheckBox(Inter.getLocText("Chart-Gis_Address")); |
|
|
|
|
isAddressName = new UICheckBox(Inter.getLocText("Chart-Address_Name")); |
|
|
|
|
|
|
|
|
|
isAxisShowToolTip = new UICheckBox(Inter.getLocText("Chart-Interactive_AxisTooltip")); |
|
|
|
|
isAxisZoom = new UICheckBox(Inter.getLocText("Chart-Use_Zoom")); |
|
|
|
|
isAutoRefresh = new UICheckBox(Inter.getLocText(new String[]{"Chart-Use_Auto", "Chart-Use_Refresh"})); |
|
|
|
|
autoRefreshTime = new UISpinner(1, Integer.MAX_VALUE, 1); |
|
|
|
|
superLink = new UICorrelationComboBoxPane(); |
|
|
|
|
isAxisShowToolTip = new UICheckBox(Inter.getLocText("Chart-Interactive_AxisTooltip")); |
|
|
|
|
isAxisZoom = new UICheckBox(Inter.getLocText("Chart-Use_Zoom")); |
|
|
|
|
isAutoRefresh = new UICheckBox(Inter.getLocText(new String[]{"Chart-Use_Auto", "Chart-Use_Refresh"})); |
|
|
|
|
autoRefreshTime = new UISpinner(1, Integer.MAX_VALUE, 1); |
|
|
|
|
superLink = new UICorrelationComboBoxPane(); |
|
|
|
|
|
|
|
|
|
isAutoRefresh.addActionListener(new ActionListener() { |
|
|
|
|
isAutoRefresh.addActionListener(new ActionListener() { |
|
|
|
|
@Override |
|
|
|
|
public void actionPerformed(ActionEvent e) { |
|
|
|
|
checkAutoRefresh(); |
|
|
|
@ -176,9 +178,9 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
}); |
|
|
|
|
timeSwitch = new UICheckBox(Inter.getLocText("FR-Chart-Interactive_timeSwitch")); |
|
|
|
|
timeSwitchPane = new TimeSwitchPane(); |
|
|
|
|
initFormatListener(); |
|
|
|
|
return initPaneWithListener(); |
|
|
|
|
} |
|
|
|
|
initFormatListener(); |
|
|
|
|
return initPaneWithListener(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void initFormatListener() { |
|
|
|
@ -188,7 +190,7 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
@Override |
|
|
|
|
public void itemStateChanged(ItemEvent e) { |
|
|
|
|
timeSwitch.setEnabled(isAxisZoom.isSelected()); |
|
|
|
|
if(!isAxisZoom.isSelected()){ |
|
|
|
|
if (!isAxisZoom.isSelected()) { |
|
|
|
|
timeSwitch.setSelected(false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -254,19 +256,20 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void checkAutoRefresh() { |
|
|
|
|
GUICoreUtils.setEnabled(autoRefreshTime, isAutoRefresh.isSelected()); |
|
|
|
|
} |
|
|
|
|
private void checkAutoRefresh() { |
|
|
|
|
GUICoreUtils.setEnabled(autoRefreshTime, isAutoRefresh.isSelected()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 反正后面还有relayout,这边init一下就好了 保证所有的init 加入界面 并且加载入事件. |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private JPanel initPaneWithListener() { |
|
|
|
|
initDataPointToolTipPane(); |
|
|
|
|
initAxisShowPane(); |
|
|
|
|
initAutoRefreshPane(); |
|
|
|
|
initSuperlinkPane(); |
|
|
|
|
/** |
|
|
|
|
* 反正后面还有relayout,这边init一下就好了 保证所有的init 加入界面 并且加载入事件. |
|
|
|
|
* |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private JPanel initPaneWithListener() { |
|
|
|
|
initDataPointToolTipPane(); |
|
|
|
|
initAxisShowPane(); |
|
|
|
|
initAutoRefreshPane(); |
|
|
|
|
initSuperlinkPane(); |
|
|
|
|
initTimeSwitchPane(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -285,34 +288,33 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
}; |
|
|
|
|
//初始化界面时 加载事件
|
|
|
|
|
return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initTimeSwitchPane(){ |
|
|
|
|
private void initTimeSwitchPane() { |
|
|
|
|
timeSwitchContainer = new JPanel(new BorderLayout()); |
|
|
|
|
timeSwitchContainer.add(timeSwitch, BorderLayout.CENTER); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 全部初始化, 对所有的界面 都加入, 然后会加载事件响应. 后续再relayout. |
|
|
|
|
*/ |
|
|
|
|
private void initDataPointToolTipPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p, p, p, p, p, p, p}; |
|
|
|
|
private void initDataPointToolTipPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p, p, p, p, p, p, p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isDatapointValue, dataPointValueFormat}, |
|
|
|
|
new Component[]{isDatapointPercent, dataPointPercentFormat}, |
|
|
|
|
new Component[]{isAddress, null}, |
|
|
|
|
new Component[]{isAddressName,null}, |
|
|
|
|
new Component[]{isAddressName, null}, |
|
|
|
|
new Component[]{isAddressTittle, null}, |
|
|
|
|
new Component[]{tooltipShowTypeLabel, tooltipShowType}, |
|
|
|
|
new Component[]{tooltipStyleLabel, tooltipStyle} |
|
|
|
|
}; |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"},components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"}, components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void relayoutDataPointToolTipPane(Plot plot) { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
@ -320,21 +322,21 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p, p}; |
|
|
|
|
|
|
|
|
|
if(plot.isShowAllDataPointLabel()) { |
|
|
|
|
if (plot.isShowAllDataPointLabel()) { |
|
|
|
|
isDatapointPercent.setText(Inter.getLocText("Chart-Value_Conversion")); |
|
|
|
|
} |
|
|
|
|
if(plot.isSupportAddress4Gis()) { |
|
|
|
|
if (plot.isSupportAddress4Gis()) { |
|
|
|
|
UIButton tmpButton = new UIButton(); //用来调整对齐
|
|
|
|
|
tmpButton.setVisible(false); |
|
|
|
|
rowSize = new double[]{p, p, p, p, p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isAddress, null}, |
|
|
|
|
new Component[]{isAddressName,null}, |
|
|
|
|
new Component[]{isAddressName, null}, |
|
|
|
|
new Component[]{isAddressTittle, tmpButton}, |
|
|
|
|
new Component[]{isDatapointValue, dataPointValueFormat}, |
|
|
|
|
}; |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"},components, rowSize, columnSize); |
|
|
|
|
} else if(plot.isSupportValuePercent()) { |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"}, components, rowSize, columnSize); |
|
|
|
|
} else if (plot.isSupportValuePercent()) { |
|
|
|
|
Component[][] components; |
|
|
|
|
if (plot.isSupportTooltipSeriesType()) { |
|
|
|
|
rowSize = new double[]{p, p, p, p}; |
|
|
|
@ -347,18 +349,18 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
} else { |
|
|
|
|
rowSize = new double[]{p, p, p}; |
|
|
|
|
components = new Component[][]{ |
|
|
|
|
new Component[]{isDatapointValue, dataPointValueFormat}, |
|
|
|
|
new Component[]{isDatapointPercent, dataPointPercentFormat}, |
|
|
|
|
new Component[]{isDatapointValue, dataPointValueFormat}, |
|
|
|
|
new Component[]{isDatapointPercent, dataPointPercentFormat}, |
|
|
|
|
getTooltipStyleComponent() |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"},components, rowSize, columnSize); |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"}, components, rowSize, columnSize); |
|
|
|
|
} else { |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isDatapointValue, dataPointValueFormat}, |
|
|
|
|
getTooltipStyleComponent() |
|
|
|
|
}; |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"},components, rowSize, columnSize); |
|
|
|
|
tooltipPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartData-Tooltip"}, components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -369,8 +371,8 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
new Component[]{tooltipShowTypeLabel, tooltipShowType} |
|
|
|
|
}; |
|
|
|
|
double[] newColumnSize = new double[]{f, p}; |
|
|
|
|
double []newRowSize = new double[]{p}; |
|
|
|
|
return new Component[] {TableLayoutHelper.createTableLayoutPane(newComponents, newRowSize, newColumnSize), null}; |
|
|
|
|
double[] newRowSize = new double[]{p}; |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane(newComponents, newRowSize, newColumnSize), null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Component[] getTooltipStyleComponent() { |
|
|
|
@ -380,53 +382,53 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
new Component[]{tooltipStyleLabel, tooltipStyle} |
|
|
|
|
}; |
|
|
|
|
double[] newColumnSize = new double[]{f, p}; |
|
|
|
|
double []newRowSize = new double[]{p}; |
|
|
|
|
return new Component[] {TableLayoutHelper.createTableLayoutPane(newComponents, newRowSize, newColumnSize), null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initAxisShowPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double[] columnSize = new double[]{p}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isAxisShowToolTip}, |
|
|
|
|
}; |
|
|
|
|
axisShowPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartF-Axis", "Chart-Interactive"},components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initAutoRefreshPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p, p, p,p}; |
|
|
|
|
|
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isAutoRefresh,null}, |
|
|
|
|
new Component[]{GUICoreUtils.createFlowPane(new Component[]{ |
|
|
|
|
new UILabel(Inter.getLocText("Chart-Time_Interval")), |
|
|
|
|
autoRefreshTime, |
|
|
|
|
new UILabel(Inter.getLocText("Chart-Time_Seconds")) |
|
|
|
|
}, 1)}, |
|
|
|
|
double[] newRowSize = new double[]{p}; |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane(newComponents, newRowSize, newColumnSize), null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initAxisShowPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double[] columnSize = new double[]{p}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isAxisShowToolTip}, |
|
|
|
|
}; |
|
|
|
|
axisShowPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"ChartF-Axis", "Chart-Interactive"}, components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initAutoRefreshPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p, p, p, p}; |
|
|
|
|
|
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{isAutoRefresh, null}, |
|
|
|
|
new Component[]{GUICoreUtils.createFlowPane(new Component[]{ |
|
|
|
|
new UILabel(Inter.getLocText("Chart-Time_Interval")), |
|
|
|
|
autoRefreshTime, |
|
|
|
|
new UILabel(Inter.getLocText("Chart-Time_Seconds")) |
|
|
|
|
}, 1)}, |
|
|
|
|
new Component[]{new UILabel("<html><font size='2' face='Microsoft Yahei' color='red'>" + Inter.getLocText("FR-Chart-AutoRefresh_NotSupportIMGAndReportData") + "</font></html>"), null}, |
|
|
|
|
}; |
|
|
|
|
autoRefreshPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"Data-Check"},components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initSuperlinkPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{superLink, null}, |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
superlinkPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"Hyperlink"},components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void relayoutWithPlot(Plot plot) { |
|
|
|
|
this.removeAll(); |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
}; |
|
|
|
|
autoRefreshPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"Data-Check"}, components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void initSuperlinkPane() { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{p, f}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{superLink, null}, |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
superlinkPane = TableLayoutHelper.createTableLayoutPane4Chart(new String[]{"Hyperlink"}, components, rowSize, columnSize); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void relayoutWithPlot(Plot plot) { |
|
|
|
|
this.removeAll(); |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double[] columnSize = new double[]{TableLayout.FILL}; |
|
|
|
|
double[] rowSize = new double[]{p, p, p}; |
|
|
|
|
|
|
|
|
@ -441,11 +443,11 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
|
|
|
|
|
double[] row = new double[]{p, p, p, p, p, p}; |
|
|
|
|
reloaPane(TableLayoutHelper.createTableLayoutPane(components, row, columnSize)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private Component[] getChartAnimatePane(Plot plot, double[] row, double[] col) { |
|
|
|
|
if(plot.isSupportAnimate() && plot.isSupportSeriesDrag()) { |
|
|
|
|
if (plot.isSupportAnimate() && plot.isSupportSeriesDrag()) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane( |
|
|
|
|
new Component[][]{ |
|
|
|
|
new Component[]{isChartAnimation}, |
|
|
|
@ -453,7 +455,7 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
new Component[]{new JSeparator()} |
|
|
|
|
}, row, col) |
|
|
|
|
}; |
|
|
|
|
}else if(plot.isSupportAnimate() && !plot.isSupportSeriesDrag()){ |
|
|
|
|
} else if (plot.isSupportAnimate() && !plot.isSupportSeriesDrag()) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane( |
|
|
|
|
new Component[][]{ |
|
|
|
|
new Component[]{isChartAnimation}, |
|
|
|
@ -461,36 +463,36 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
}, row, col) |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void relayoutTimeSwitchPane(){ |
|
|
|
|
private void relayoutTimeSwitchPane() { |
|
|
|
|
timeSwitchContainer.removeAll(); |
|
|
|
|
timeSwitchContainer.add(timeSwitch, BorderLayout.CENTER); |
|
|
|
|
if(timeSwitch.isSelected()){ |
|
|
|
|
if (timeSwitch.isSelected()) { |
|
|
|
|
double p = TableLayout.PREFERRED; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{TIME_SWITCH_GAP,f}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
double f = TableLayout.FILL; |
|
|
|
|
double[] columnSize = new double[]{TIME_SWITCH_GAP, f}; |
|
|
|
|
double[] rowSize = new double[]{p}; |
|
|
|
|
Component[][] components = new Component[][]{ |
|
|
|
|
new Component[]{null, timeSwitchPane}, |
|
|
|
|
}; |
|
|
|
|
JPanel panel= TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
|
|
|
|
JPanel panel = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); |
|
|
|
|
timeSwitchContainer.add(panel, BorderLayout.SOUTH); |
|
|
|
|
} |
|
|
|
|
timeSwitchContainer.revalidate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Component[] getChartScalePane(Plot plot, double[] row, double[] col) { |
|
|
|
|
boolean isNeedTimeSwitch = plot.getxAxis()!=null && plot.getxAxis().isDate(); |
|
|
|
|
if(plot.isSupportZoomCategoryAxis() && !isNeedTimeSwitch) { |
|
|
|
|
boolean isNeedTimeSwitch = plot.getxAxis() != null && plot.getxAxis().isDate(); |
|
|
|
|
if (plot.isSupportZoomCategoryAxis() && !isNeedTimeSwitch) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane( |
|
|
|
|
new Component[][]{ |
|
|
|
|
new Component[]{isAxisZoom}, |
|
|
|
|
new Component[]{new JSeparator()} |
|
|
|
|
}, row, col) |
|
|
|
|
}; |
|
|
|
|
}else if(plot.isSupportZoomCategoryAxis() && isNeedTimeSwitch){ |
|
|
|
|
} else if (plot.isSupportZoomCategoryAxis() && isNeedTimeSwitch) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane( |
|
|
|
|
new Component[][]{ |
|
|
|
|
new Component[]{isAxisZoom}, |
|
|
|
@ -499,29 +501,29 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
}, row, col) |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Component[] getDataTooltipPane(Plot plot, double[] row, double[] col) { |
|
|
|
|
relayoutDataPointToolTipPane(plot); |
|
|
|
|
if(plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
if (plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane(new Component[][]{ |
|
|
|
|
new Component[]{tooltipPane}, new Component[]{new JSeparator()}}, row, col)}; |
|
|
|
|
} |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Component[] getAxisTipPane(Plot plot, double[] row, double[] col) { |
|
|
|
|
if(plot.isSupportAxisTip()) { |
|
|
|
|
if (plot.isSupportAxisTip()) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane(new Component[][]{ |
|
|
|
|
new Component[]{axisShowPane}, new Component[]{new JSeparator()}}, row, col)}; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
return new Component[]{null}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private Component[] getAutoRefreshPane(Plot plot, double[] row, double[] col) { |
|
|
|
|
if(plot.isSupportAutoRefresh()) { |
|
|
|
|
if (plot.isSupportAutoRefresh()) { |
|
|
|
|
return new Component[]{TableLayoutHelper.createTableLayoutPane( |
|
|
|
|
new Component[][]{ |
|
|
|
|
new Component[]{autoRefreshPane}, |
|
|
|
@ -537,16 +539,16 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
return new Component[]{superlinkPane}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void populateBean(Chart chart) { |
|
|
|
|
if (chart == null || chart.getPlot() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public void populateBean(Chart chart) { |
|
|
|
|
if (chart == null || chart.getPlot() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Plot plot = chart.getPlot(); |
|
|
|
|
this.plot =plot; |
|
|
|
|
Plot plot = chart.getPlot(); |
|
|
|
|
this.plot = plot; |
|
|
|
|
relayoutWithGis(chart, plot); |
|
|
|
|
relayoutWithPlot(plot); |
|
|
|
|
relayoutWithPlot(plot); |
|
|
|
|
|
|
|
|
|
populateChartAnimate(chart, plot); |
|
|
|
|
populateChartScale(plot); |
|
|
|
@ -555,63 +557,63 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
populateAutoRefresh(chart); |
|
|
|
|
populateHyperlink(plot); |
|
|
|
|
|
|
|
|
|
checkAutoRefresh(); |
|
|
|
|
} |
|
|
|
|
checkAutoRefresh(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void relayoutWithGis(Chart chart, Plot plot) { |
|
|
|
|
if(plot.isSupportAddress4Gis()) { |
|
|
|
|
if (plot.isSupportAddress4Gis()) { |
|
|
|
|
TopDefinitionProvider definition = chart.getFilterDefinition(); |
|
|
|
|
boolean addressType = true; |
|
|
|
|
if(definition instanceof GisMapTableDefinition){ |
|
|
|
|
addressType = ((GisMapTableDefinition)definition).isAddress(); |
|
|
|
|
}else if(definition instanceof GisMapReportDefinition){ |
|
|
|
|
addressType = ((GisMapReportDefinition)definition).isAddress(); |
|
|
|
|
if (definition instanceof GisMapTableDefinition) { |
|
|
|
|
addressType = ((GisMapTableDefinition) definition).isAddress(); |
|
|
|
|
} else if (definition instanceof GisMapReportDefinition) { |
|
|
|
|
addressType = ((GisMapReportDefinition) definition).isAddress(); |
|
|
|
|
} |
|
|
|
|
if(addressType){ |
|
|
|
|
if (addressType) { |
|
|
|
|
this.isAddress.setText(Inter.getLocText("Chart-Use_Address")); |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
this.isAddress.setText(Inter.getLocText("Chart-Use_LatLng")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void populateChartAnimate(Chart chart, Plot plot) { |
|
|
|
|
if(plot.isSupportAnimate()) { |
|
|
|
|
if (plot.isSupportAnimate()) { |
|
|
|
|
isChartAnimation.setSelected(chart.isJSDraw()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(plot.isSupportSeriesDrag()){ |
|
|
|
|
if (plot.isSupportSeriesDrag()) { |
|
|
|
|
isSeriesDragEnable.setSelected(plot.isSeriesDragEnable()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void populateChartScale(Plot plot) { |
|
|
|
|
if(plot.isSupportZoomCategoryAxis()) { |
|
|
|
|
if (plot.isSupportZoomCategoryAxis()) { |
|
|
|
|
isAxisZoom.setSelected(plot.getxAxis() != null && plot.getxAxis().isZoom()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
timeSwitch.setSelected(false); |
|
|
|
|
timeSwitch.setEnabled(false); |
|
|
|
|
//只有坐标轴为时间坐标轴,并且勾选了图表缩放的时候,才支持时间切换
|
|
|
|
|
if(!plot.isSupportZoomCategoryAxis() || !isAxisZoom.isSelected()){ |
|
|
|
|
return; |
|
|
|
|
if (!plot.isSupportZoomCategoryAxis() || !isAxisZoom.isSelected()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(plot.getxAxis() ==null && !plot.getxAxis().isDate()){ |
|
|
|
|
if (plot.getxAxis() == null && !plot.getxAxis().isDate()) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
timeSwitch.setEnabled(true); |
|
|
|
|
ArrayList<TimeSwitchAttr> timeMap=plot.getxAxis().getTimeSwitchMap(); |
|
|
|
|
ArrayList<TimeSwitchAttr> timeMap = plot.getxAxis().getTimeSwitchMap(); |
|
|
|
|
timeSwitch.setSelected(timeMap != null && !timeMap.isEmpty()); |
|
|
|
|
|
|
|
|
|
if(timeSwitch.isSelected()){ |
|
|
|
|
if (timeSwitch.isSelected()) { |
|
|
|
|
timeSwitchPane.populate(plot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void populateDataTooltip(Plot plot) { |
|
|
|
|
if(plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
if (plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
AttrContents contents = plot.getHotTooltipStyle(); |
|
|
|
|
if (contents == null) { |
|
|
|
|
return; |
|
|
|
@ -627,12 +629,12 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
} else { |
|
|
|
|
tooltipStyle.setSelectedIndex(1); |
|
|
|
|
} |
|
|
|
|
if(plot.isSupportValuePercent()) { |
|
|
|
|
if (plot.isSupportValuePercent()) { |
|
|
|
|
percentFormat = contents.getPercentFormat(); |
|
|
|
|
isDatapointPercent.setSelected(dataLabel.contains(ChartConstants.PERCENT_PARA)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(plot.isSupportAddress4Gis()) { |
|
|
|
|
if (plot.isSupportAddress4Gis()) { |
|
|
|
|
isAddressTittle.setSelected(dataLabel.contains(ChartConstants.AREA_TITTLE_PARA)); |
|
|
|
|
isAddress.setSelected(dataLabel.contains(ChartConstants.ADDRESS_PARA)); |
|
|
|
|
isAddressName.setSelected(dataLabel.contains(ChartConstants.ADDRESS_NAME_PARA)); |
|
|
|
@ -649,14 +651,14 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void populateAxisTip(Plot plot) { |
|
|
|
|
if(plot.isSupportAxisTip()) { |
|
|
|
|
if (plot.isSupportAxisTip()) { |
|
|
|
|
isAxisShowToolTip.setSelected(plot.isInteractiveAxisTooltip()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected void populateAutoRefresh(Chart chart) { |
|
|
|
|
Plot plot = chart.getPlot(); |
|
|
|
|
if(plot.isSupportAutoRefresh()) { |
|
|
|
|
if (plot.isSupportAutoRefresh()) { |
|
|
|
|
if (plot.getAutoRefreshPerSecond() < 1) { |
|
|
|
|
isAutoRefresh.setSelected(false); |
|
|
|
|
autoRefreshTime.setValue(2); |
|
|
|
@ -682,9 +684,9 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
|
|
|
|
|
List<ChartUIMenuNameableCreator> hyperList = new ArrayList<ChartUIMenuNameableCreator>(); |
|
|
|
|
NameJavaScriptGroup nameGroup = plot.getHotHyperLink(); |
|
|
|
|
for(int i = 0; nameGroup != null && i < nameGroup.size(); i++) { |
|
|
|
|
for (int i = 0; nameGroup != null && i < nameGroup.size(); i++) { |
|
|
|
|
NameJavaScript javaScript = nameGroup.getNameHyperlink(i); |
|
|
|
|
if(javaScript != null && javaScript.getJavaScript() != null) { |
|
|
|
|
if (javaScript != null && javaScript.getJavaScript() != null) { |
|
|
|
|
JavaScript script = javaScript.getJavaScript(); |
|
|
|
|
hyperList.add(new ChartUIMenuNameableCreator(plot.getHyperLinkEditorMap(), javaScript.getName(), script, getUseMap(paneMap, script.getClass()))); |
|
|
|
|
} |
|
|
|
@ -694,13 +696,13 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
superLink.doLayout(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void updateBean(Chart chart) { |
|
|
|
|
if (chart == null || chart.getPlot() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public void updateBean(Chart chart) { |
|
|
|
|
if (chart == null || chart.getPlot() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Plot plot = chart.getPlot(); |
|
|
|
|
Plot plot = chart.getPlot(); |
|
|
|
|
|
|
|
|
|
updateChartAnimate(chart, plot); |
|
|
|
|
updateChartScale(plot); |
|
|
|
@ -708,38 +710,38 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
updateAxisTip(plot); |
|
|
|
|
updateAutoRefresh(plot); |
|
|
|
|
updateHyperlink(plot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateChartAnimate(Chart chart, Plot plot) { |
|
|
|
|
if(plot.isSupportAnimate()) { |
|
|
|
|
if (plot.isSupportAnimate()) { |
|
|
|
|
chart.setJSDraw(isChartAnimation.isSelected()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(plot.isSupportSeriesDrag()){ |
|
|
|
|
if (plot.isSupportSeriesDrag()) { |
|
|
|
|
plot.setSeriesDragEnable(isSeriesDragEnable.isSelected()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateChartScale(Plot plot) { |
|
|
|
|
if(plot.isSupportZoomCategoryAxis() && plot.getxAxis() != null) { |
|
|
|
|
if (plot.isSupportZoomCategoryAxis() && plot.getxAxis() != null) { |
|
|
|
|
plot.getxAxis().setZoom(isAxisZoom.isSelected()); |
|
|
|
|
} |
|
|
|
|
if(plot.getxAxis() == null){ |
|
|
|
|
if (plot.getxAxis() == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
boolean isNeedTimeSwitch = plot.getxAxis()!=null && plot.getxAxis().isDate(); |
|
|
|
|
boolean isClear = !isNeedTimeSwitch || !timeSwitch.isSelected(); |
|
|
|
|
if(isClear && plot.getxAxis().getTimeSwitchMap() != null){ |
|
|
|
|
boolean isNeedTimeSwitch = plot.getxAxis() != null && plot.getxAxis().isDate(); |
|
|
|
|
boolean isClear = !isNeedTimeSwitch || !timeSwitch.isSelected(); |
|
|
|
|
if (isClear && plot.getxAxis().getTimeSwitchMap() != null) { |
|
|
|
|
plot.getxAxis().getTimeSwitchMap().clear(); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if(plot.getxAxis().isDate() && timeSwitch.isSelected()){ |
|
|
|
|
if (plot.getxAxis().isDate() && timeSwitch.isSelected()) { |
|
|
|
|
timeSwitchPane.update(plot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateDataTooltip(Plot plot) { |
|
|
|
|
if(plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
if (plot.isSupportTooltipInInteractivePane()) { |
|
|
|
|
AttrContents seriesAttrContents = plot.getHotTooltipStyle(); |
|
|
|
|
if (seriesAttrContents == null) { |
|
|
|
|
seriesAttrContents = new AttrContents(); |
|
|
|
@ -747,18 +749,18 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
String contents = plot.isSupportAddress4Gis() ? getGisTooltipContent() : getTooltipContent(plot); |
|
|
|
|
seriesAttrContents.setSeriesLabel(contents); |
|
|
|
|
|
|
|
|
|
if(tooltipStyle != null){ |
|
|
|
|
if (tooltipStyle != null) { |
|
|
|
|
boolean isWhiteBackground = tooltipStyle.getSelectedIndex() == 0; |
|
|
|
|
seriesAttrContents.setWhiteBackground(isWhiteBackground); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if(tooltipShowType != null){ |
|
|
|
|
if (tooltipShowType != null) { |
|
|
|
|
boolean isShowMutiSeries = plot.isSupportTooltipSeriesType() && tooltipShowType.getSelectedIndex() == 1; |
|
|
|
|
seriesAttrContents.setShowMutiSeries(isShowMutiSeries); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
seriesAttrContents.setFormat(valueFormat); |
|
|
|
|
if(plot.isSupportValuePercent()) { |
|
|
|
|
if (plot.isSupportValuePercent()) { |
|
|
|
|
if (percentFormat != null) { |
|
|
|
|
seriesAttrContents.setPercentFormat(percentFormat); |
|
|
|
|
} |
|
|
|
@ -786,23 +788,24 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
String contents = StringUtils.EMPTY; |
|
|
|
|
contents += ChartConstants.SERIES_PARA + ChartConstants.BREAKLINE_PARA + ChartConstants.CATEGORY_PARA; |
|
|
|
|
boolean noPara = true; |
|
|
|
|
if(isDatapointValue.isSelected()){ |
|
|
|
|
if (isDatapointValue.isSelected()) { |
|
|
|
|
contents += ChartConstants.BREAKLINE_PARA + ChartConstants.VALUE_PARA; |
|
|
|
|
noPara = false; |
|
|
|
|
} |
|
|
|
|
if(isAddressTittle.isSelected()){ |
|
|
|
|
if (isAddressTittle.isSelected()) { |
|
|
|
|
contents += ChartConstants.BREAKLINE_PARA + ChartConstants.AREA_TITTLE_PARA; |
|
|
|
|
noPara = false; |
|
|
|
|
} |
|
|
|
|
if(isAddress.isSelected()){ |
|
|
|
|
if (isAddress.isSelected()) { |
|
|
|
|
contents += ChartConstants.BREAKLINE_PARA + ChartConstants.ADDRESS_PARA; |
|
|
|
|
noPara = false; |
|
|
|
|
} |
|
|
|
|
if(isAddressName.isSelected()){ |
|
|
|
|
contents += ChartConstants.BREAKLINE_PARA + ChartConstants.ADDRESS_NAME_PARA;; |
|
|
|
|
if (isAddressName.isSelected()) { |
|
|
|
|
contents += ChartConstants.BREAKLINE_PARA + ChartConstants.ADDRESS_NAME_PARA; |
|
|
|
|
; |
|
|
|
|
noPara = false; |
|
|
|
|
} |
|
|
|
|
if(noPara){ |
|
|
|
|
if (noPara) { |
|
|
|
|
contents = null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -816,8 +819,8 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void updateAutoRefresh(Plot plot) { |
|
|
|
|
if(plot.isSupportAutoRefresh()) { |
|
|
|
|
if(isAutoRefresh.isSelected() && autoRefreshTime.getValue() >= 2) { |
|
|
|
|
if (plot.isSupportAutoRefresh()) { |
|
|
|
|
if (isAutoRefresh.isSelected() && autoRefreshTime.getValue() >= 2) { |
|
|
|
|
plot.setAutoRefreshPerSecond((int) autoRefreshTime.getValue()); |
|
|
|
|
} else { |
|
|
|
|
plot.setAutoRefreshPerSecond(0); |
|
|
|
@ -831,61 +834,61 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
|
|
|
|
|
superLink.resetItemName(); |
|
|
|
|
List list = superLink.updateBean(); |
|
|
|
|
for(int i = 0; i < list.size(); i++) { |
|
|
|
|
UIMenuNameableCreator menu = (UIMenuNameableCreator)list.get(i); |
|
|
|
|
NameJavaScript nameJava = new NameJavaScript(menu.getName(), (JavaScript)menu.getObj()); |
|
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
|
UIMenuNameableCreator menu = (UIMenuNameableCreator) list.get(i); |
|
|
|
|
NameJavaScript nameJava = new NameJavaScript(menu.getName(), (JavaScript) menu.getObj()); |
|
|
|
|
nameGroup.addNameHyperlink(nameJava); |
|
|
|
|
} |
|
|
|
|
plot.setHotHyperLink(nameGroup); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected Class<? extends BasicBeanPane> getUseMap(HashMap map, Object key) { |
|
|
|
|
if(map.get(key) != null){ |
|
|
|
|
return (Class<? extends BasicBeanPane>)map.get(key); |
|
|
|
|
protected Class<? extends BasicBeanPane> getUseMap(HashMap map, Object key) { |
|
|
|
|
if (map.get(key) != null) { |
|
|
|
|
return (Class<? extends BasicBeanPane>) map.get(key); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//引擎在这边放了个provider。。
|
|
|
|
|
Iterator iterator = map.keySet().iterator(); |
|
|
|
|
while (iterator.hasNext()){ |
|
|
|
|
Class clz = (Class)iterator.next(); |
|
|
|
|
if(clz.isAssignableFrom((Class)key)){ |
|
|
|
|
return (Class<? extends BasicBeanPane>)map.get(clz); |
|
|
|
|
while (iterator.hasNext()) { |
|
|
|
|
Class clz = (Class) iterator.next(); |
|
|
|
|
if (clz.isAssignableFrom((Class) key)) { |
|
|
|
|
return (Class<? extends BasicBeanPane>) map.get(clz); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected List<ChartUIMenuNameableCreator> refreshList(HashMap map) { |
|
|
|
|
List<ChartUIMenuNameableCreator> list = new ArrayList<ChartUIMenuNameableCreator>(); |
|
|
|
|
protected List<ChartUIMenuNameableCreator> refreshList(HashMap map) { |
|
|
|
|
List<ChartUIMenuNameableCreator> list = new ArrayList<ChartUIMenuNameableCreator>(); |
|
|
|
|
java.util.HashMap<String, Formula> hyperLinkEditorMap = plot.getHyperLinkEditorMap(); |
|
|
|
|
|
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Reportlet"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Reportlet"), |
|
|
|
|
new ReportletHyperlink(), getUseMap(map, ReportletHyperlink.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Mail"), new EmailJavaScript(), ChartEmailPane.class)); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Web"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Mail"), new EmailJavaScript(), ChartEmailPane.class)); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Web"), |
|
|
|
|
new WebHyperlink(), getUseMap(map, WebHyperlink.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Dynamic_Parameters"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Dynamic_Parameters"), |
|
|
|
|
new ParameterJavaScript(), getUseMap(map, ParameterJavaScript.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, "JavaScript", new JavaScriptImpl(), getUseMap(map, JavaScriptImpl.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, "JavaScript", new JavaScriptImpl(), getUseMap(map, JavaScriptImpl.class))); |
|
|
|
|
|
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Float_Chart"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Float_Chart"), |
|
|
|
|
new ChartHyperPoplink(), getUseMap(map, ChartHyperPoplink.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Cell"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Cell"), |
|
|
|
|
new ChartHyperRelateCellLink(), getUseMap(map, ChartHyperRelateCellLink.class))); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Float"), |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Float"), |
|
|
|
|
new ChartHyperRelateFloatLink(), getUseMap(map, ChartHyperRelateFloatLink.class))); |
|
|
|
|
|
|
|
|
|
FormHyperlinkProvider hyperlink = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); |
|
|
|
|
FormHyperlinkProvider hyperlink = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); |
|
|
|
|
list.add(new ChartUIMenuNameableCreator(hyperLinkEditorMap, Inter.getLocText("Chart-Link_Form"), |
|
|
|
|
hyperlink, getUseMap(map, FormHyperlinkProvider.class))); |
|
|
|
|
hyperlink, getUseMap(map, FormHyperlinkProvider.class))); |
|
|
|
|
|
|
|
|
|
return list; |
|
|
|
|
} |
|
|
|
|
return list; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private HashMap getPlotHyperMap() { |
|
|
|
|
if(normalMap.isEmpty()) { |
|
|
|
|
FormHyperlinkProvider fp = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); |
|
|
|
|
if (normalMap.isEmpty()) { |
|
|
|
|
FormHyperlinkProvider fp = StableFactory.getMarkedInstanceObjectFromClass(FormHyperlinkProvider.XML_TAG, FormHyperlinkProvider.class); |
|
|
|
|
|
|
|
|
|
normalMap.put(ReportletHyperlink.class, ReportletHyperlinkPane.class); |
|
|
|
|
normalMap.put(EmailJavaScript.class, ChartEmailPane.class); |
|
|
|
@ -899,33 +902,33 @@ public class ChartInteractivePane extends BasicScrollPane<Chart> implements UIOb
|
|
|
|
|
|
|
|
|
|
normalMap.put(FormHyperlinkProvider.class, FormHyperlinkPane.class); |
|
|
|
|
//兼容老的FormHyperlink.class
|
|
|
|
|
if(fp != null){ |
|
|
|
|
if (fp != null) { |
|
|
|
|
normalMap.put(fp.getClass(), FormHyperlinkPane.class); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return normalMap; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public Chart updateBean() { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
@Override |
|
|
|
|
public Chart updateBean() { |
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 给组件登记一个观察者监听事件 |
|
|
|
|
* |
|
|
|
|
* @param listener 观察者监听事件 |
|
|
|
|
*/ |
|
|
|
|
* 给组件登记一个观察者监听事件 |
|
|
|
|
* |
|
|
|
|
* @param listener 观察者监听事件 |
|
|
|
|
*/ |
|
|
|
|
public void registerChangeListener(UIObserverListener listener) { |
|
|
|
|
timeSwitch.registerChangeListener(listener); |
|
|
|
|
timeSwitchPane.registerChangeListener(listener); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 组件是否需要响应添加的观察者事件 |
|
|
|
|
* |
|
|
|
|
* @return 如果需要响应观察者事件则返回true,否则返回false |
|
|
|
|
*/ |
|
|
|
|
* 组件是否需要响应添加的观察者事件 |
|
|
|
|
* |
|
|
|
|
* @return 如果需要响应观察者事件则返回true,否则返回false |
|
|
|
|
*/ |
|
|
|
|
public boolean shouldResponseChangeListener() { |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|