diff --git a/designer_chart/src/com/fr/design/ChartEnvManager.java b/designer_chart/src/com/fr/design/ChartEnvManager.java deleted file mode 100644 index 0f32ed408..000000000 --- a/designer_chart/src/com/fr/design/ChartEnvManager.java +++ /dev/null @@ -1,188 +0,0 @@ -package com.fr.design; - -import com.fr.base.FRContext; -import com.fr.base.Utils; -import com.fr.general.ComparatorUtils; -import com.fr.general.DateUtils; -import com.fr.general.IOUtils; -import com.fr.stable.ProductConstants; -import com.fr.stable.StableUtils; -import com.fr.stable.StringUtils; -import com.fr.stable.project.ProjectConstants; -import com.fr.stable.xml.*; - -import java.io.*; -import java.util.Date; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class ChartEnvManager implements XMLReadable, XMLWriter { - public static final String ACTIVE_KEY = "RXWY-A25421-K58F47757-7373"; - private static final int ONE_MONTH_SECOND = 30*24*60*60;//30天,以秒为单位 - private static final int MS =1000; - - boolean isPushUpdateAuto = true; //是否自动推送更新 - - private String activationKey = null; - - private static ChartEnvManager chartEnvManager; - - private Date lastCheckDate; - - private long checkTimeSpan =ONE_MONTH_SECOND; - - /** - * DesignerEnvManager. - */ - public static ChartEnvManager getEnvManager() { - if(chartEnvManager == null){ - chartEnvManager = new ChartEnvManager(); - try { - XMLTools.readFileXML(chartEnvManager, chartEnvManager.getDesignerEnvFile()); - }catch (Exception exp){ - FRContext.getLogger().error(exp.getMessage(), exp); - } - } - return chartEnvManager; - } - - private static File envFile = new File(ProductConstants.getEnvHome() + File.separator + ProductConstants.APP_NAME + "ChartEnv.xml"); - - private File getEnvFile() { - return envFile; - } - - - private File getDesignerEnvFile() { - File envFile = getEnvFile(); - if (!envFile.exists()) { - createEnvFile(envFile); - } - - return envFile; - } - - - private void createEnvFile(File envFile) { - try { - FileWriter fileWriter = new FileWriter(envFile); - StringReader stringReader = new StringReader(""); - Utils.copyCharTo(stringReader, fileWriter); - stringReader.close(); - fileWriter.close(); - } catch (IOException e) { - FRContext.getLogger().error(e.getMessage(), e); - } - } - - /** - * 返回激活码 - */ - public String getActivationKey() { - return activationKey; - } - - /** - * 设置激活码 - */ - public void setActivationKey(String activationKey) { - this.activationKey = activationKey; - } - - public void setPushUpdateAuto(boolean isPushUpdateAuto){ - this.isPushUpdateAuto = isPushUpdateAuto; - if(!this.isPushUpdateAuto){ - lastCheckDate = new Date(); - } - } - - /** - * 是否设置了自动推送图表设计器在线更行 - * @return 是则返回true - */ - public boolean isPushUpdateAuto(){ - return isPushUpdateAuto; - } - - /** - *在设置不自动推送在线更新的情况下,每30天自动检测一次 - * @return 是否需要检测 - */ - public boolean isOverOneMonth(){ - return !isPushUpdateAuto && ((new Date().getTime()-lastCheckDate.getTime())/MS>=checkTimeSpan); - } - - /*** - * 重新设置最新检查的日期 - */ - public void resetCheckDate(){ - this.lastCheckDate = new Date(); - } - - @Override - public void readXML(XMLableReader reader) { - if (reader.isChildNode()) { - String name = reader.getTagName(); - if(ComparatorUtils.equals(name,"ChartAttributes")){ - activationKey = reader.getAttrAsString("activationKey",null); - isPushUpdateAuto = reader.getAttrAsBoolean("isPushUpdateAuto",true); - checkTimeSpan = reader.getAttrAsLong("checkTimeSpan",ONE_MONTH_SECOND); - String date = reader.getAttrAsString("lastCheckDate", null); - if(!StringUtils.isEmpty(date)){ - lastCheckDate = DateUtils.string2Date(date,true); - } else { - lastCheckDate = new Date(); - } - } - } - - } - - @Override - public void writeXML(XMLPrintWriter writer) { - writer.startTAG("ChartDesigner"); - writer.startTAG("ChartAttributes").attr("activationKey",activationKey) - .attr("isPushUpdateAuto",isPushUpdateAuto) - .attr("checkTimeSpan",checkTimeSpan) - .attr("lastCheckDate", DateUtils.getDate2LStr(lastCheckDate)) - .end(); - writer.end(); - } - - /** - * 保存设计器的配置文件, 该文件不在env的resource目录下 - * 而是在Consts.getEnvHome() + File.separator + Consts.APP_NAME - * - * - * @date 2014-9-29-上午11:04:23 - */ - public void saveXMLFile() { - File xmlFile = this.getDesignerEnvFile(); - if (xmlFile == null) { - return; - } - if (!xmlFile.getParentFile().exists()) {//建立目录. - StableUtils.mkdirs(xmlFile.getParentFile()); - } - - String tempName = xmlFile.getName() + ProjectConstants.TEMP_SUFFIX; - File tempFile = new File(xmlFile.getParentFile(), tempName); - - writeTempFile(tempFile); - IOUtils.renameTo(tempFile, xmlFile); - } - - private void writeTempFile(File tempFile){ - try{ - OutputStream fout = new FileOutputStream(tempFile); - XMLTools.writeOutputStreamXML(this, fout); - fout.flush(); - fout.close(); - }catch (Exception e) { - FRContext.getLogger().error(e.getMessage()); - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/GisMapDataPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/GisMapDataPane4Chart.java deleted file mode 100644 index 00aced486..000000000 --- a/designer_chart/src/com/fr/design/chart/report/GisMapDataPane4Chart.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.TableData; -import com.fr.base.chart.chartdata.TopDefinitionProvider; -import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartdata.*; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; -import com.fr.design.mainframe.chart.gui.ChartDataPane; - -import javax.swing.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class GisMapDataPane4Chart extends AbstractChartDataPane4Chart { - - private GisMapTableDataContentPane4Chart tablePane = new GisMapTableDataContentPane4Chart(); - - public GisMapDataPane4Chart(AttributeChangeListener listener, ChartDataPane parent) { - super(listener, parent); - } - - protected JPanel getDataContentPane() { - return tablePane; - } - - @Override - public void populate(ChartCollection collection) { - tablePane = new GisMapTableDataContentPane4Chart(); - if (collection != null && collection.getSelectedChart() != null) { - Chart chart = collection.getSelectedChart(); - TopDefinitionProvider definition = chart.getFilterDefinition(); - if (definition instanceof TableDataDefinition) { - TableData tableData = ((TableDataDefinition) definition).getTableData(); - if (tableData != null) { - populateChoosePane(tableData); - fireTableDataChange(); - } - } - if (definition instanceof GisMapTableDefinition) { - tablePane.populateBean((GisMapTableDefinition) definition); - } - } - this.remove(leftContentPane); - this.initContentPane(); - this.validate(); - dataSource.addItemListener(dsListener); - initAllListeners(); - initSelfListener(tablePane); - this.addAttributeChangeListener(attributeChangeListener); - } - - @Override - public void update(ChartCollection collection) { - collection.getSelectedChart().setFilterDefinition(tablePane.updateBean()); - } - - - /** - * 数据集数据改变 - */ - public void fireTableDataChange() { - tablePane.fireTableDataChange(choosePane.getTableDataWrapper()); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane4Chart.java deleted file mode 100644 index f70390a43..000000000 --- a/designer_chart/src/com/fr/design/chart/report/GisMapTableDataContentPane4Chart.java +++ /dev/null @@ -1,341 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.Utils; -import com.fr.chart.base.ChartConstants; -import com.fr.chart.chartdata.GisMapTableDefinition; -import com.fr.chart.chartdata.SeriesDefinition; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.frpane.UICorrelationPane; -import com.fr.design.gui.ibutton.UIButtonGroup; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itable.UITableEditor; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.general.Inter; -import com.fr.stable.ArrayUtils; -import com.fr.stable.StringUtils; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.FocusAdapter; -import java.awt.event.FocusEvent; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class GisMapTableDataContentPane4Chart extends FurtherBasicBeanPane implements UIObserver { - - private ArrayList changeListeners = new ArrayList(); - private String[] initNames = {""}; - - private UIButtonGroup addressType; - private UIButtonGroup lnglatOrder; - private UIComboBox addressBox; - private UIComboBox addressNameBox; - private UICorrelationPane titleValuePane; - private JPanel orderPane; - private TableDataWrapper tableDataWrapper; - - public GisMapTableDataContentPane4Chart() { - this.setLayout(new BorderLayout()); - - addressType = new UIButtonGroup(new String[]{Inter.getLocText("Chart-Gis_Address"), Inter.getLocText("Chart-Gis_LatLng")}); - lnglatOrder = new UIButtonGroup(new String[]{Inter.getLocText("Chart-Lng_First"), Inter.getLocText("Chart-Lat_First")}); - addressBox = new UIComboBox(); - addressNameBox = new UIComboBox(); - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = new double[]{p, f}; - double[] rowSize = new double[]{p, p, p}; - orderPane = new JPanel(new BorderLayout(LayoutConstants.VGAP_MEDIUM, 0)) { - @Override - public Dimension getPreferredSize() { - if (this.isVisible()) { - return super.getPreferredSize(); - } else { - return new Dimension(0, 0); - } - } - }; - orderPane.add(new UILabel(Inter.getLocText("Chart-LatLng_Order")), BorderLayout.WEST); - orderPane.add(lnglatOrder, BorderLayout.CENTER); - orderPane.setVisible(false); - lnglatOrder.setSelectedIndex(0); - addressType.setSelectedIndex(0); - - addressNameBox.removeAllItems(); - addressNameBox.addItem(Inter.getLocText("Chart-Use_None")); - - Component[][] components = new Component[][]{ - new Component[]{addressType, addressBox}, - new Component[]{orderPane, null}, - new Component[]{new UILabel(Inter.getLocText("Chart-Address_Name") + ":", SwingConstants.RIGHT), addressNameBox}, - }; - JPanel centerPane = TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - - JPanel pane = new JPanel(); - this.add(pane, BorderLayout.CENTER); - pane.setLayout(new BorderLayout()); - - pane.add(centerPane, BorderLayout.NORTH); - - String[] titles = {Inter.getLocText("Chart-Area_Title"), Inter.getLocText("Chart-Area_Value")}; - titleValuePane = new UICorrelationPane(titles) { - public UITableEditor createUITableEditor() { - return new InnerTableEditor(); - } - }; - - pane.add(titleValuePane, BorderLayout.CENTER); - } - - private void refresh2ComboBox() {// 刷新地址 地址名 名称列表 - TableDataWrapper tableDataWrappe =tableDataWrapper; - if (tableDataWrappe == null) { - return; - } - java.util.List columnNameList = tableDataWrappe.calculateColumnNameList(); - initNames = columnNameList.toArray(new String[columnNameList.size()]); - - addressBox.removeAllItems(); - addressNameBox.removeAllItems(); - addressNameBox.addItem(Inter.getLocText("Chart-Use_None")); - - for (int i = 0, size = initNames.length; i < size; i++) { - addressBox.addItem(initNames[i]); - addressNameBox.addItem(initNames[i]); - } - if(initNames.length > 0){ - addressBox.setSelectedIndex(0); - } - addressNameBox.setSelectedIndex(0); - stopEditing(); - } - - /** - * 界面接入 - * - * @param ob 对象 - * @return true表示接受 - */ - public boolean accept(Object ob) { - return false; - } - - /** - * 界面重置 - */ - public void reset() { - - } - - /** - * 界面弹出标题 - * - * @return 标题 - */ - public String title4PopupWindow() { - return Inter.getLocText("Chart-DS_TableData"); - } - - private void stopEditing() { - } - - @Override - public void populateBean(GisMapTableDefinition ob) { - stopEditing(); - if (ob instanceof GisMapTableDefinition) { - GisMapTableDefinition mapDefinition = (GisMapTableDefinition) ob; - if (ob.isAddress()) { - addressType.setSelectedIndex(0); - orderPane.setVisible(false); - } else { - addressType.setSelectedIndex(1); - orderPane.setVisible(true); - } - - if (ob.isLngFirst()) { - lnglatOrder.setSelectedIndex(0); - } else { - lnglatOrder.setSelectedIndex(1); - } - - addressBox.setSelectedItem(mapDefinition.getAddress()); - - if (StringUtils.isEmpty(mapDefinition.getAddressName())) { - addressNameBox.setSelectedItem(Inter.getLocText("Chart-Use_None")); - } else { - addressNameBox.setSelectedItem(mapDefinition.getAddressName()); - } - - java.util.List paneList = new ArrayList(); - int titleValueSize = mapDefinition.getTittleValueSize(); - for (int i = 0; i < titleValueSize; i++) { - SeriesDefinition definition = mapDefinition.getTittleValueWithIndex(i); - if (definition != null && definition.getSeriesName() != null && definition.getValue() != null) { - paneList.add(new Object[]{definition.getSeriesName(), definition.getValue()}); - } - } - - if (!paneList.isEmpty()) { - titleValuePane.populateBean(paneList); - } - } - } - - @Override - public GisMapTableDefinition updateBean() {// 从一行内容中update - stopEditing(); - - GisMapTableDefinition definition = new GisMapTableDefinition(); - - TableDataWrapper tableDataWrappe = tableDataWrapper; - if (tableDataWrappe == null || addressBox.getSelectedItem() == null) { - return null; - } - - definition.setTableData(tableDataWrapper.getTableData()); - definition.setAddress(Utils.objectToString(addressBox.getSelectedItem())); - - if (this.addressType.getSelectedIndex() == 0) { - definition.setAddressType(true); - lnglatOrder.setVisible(false); - } else { - definition.setAddressType(false); - lnglatOrder.setVisible(true); - } - - if (this.lnglatOrder.getSelectedIndex() == 0) { - definition.setLnglatOrder(true); - } else { - definition.setLnglatOrder(false); - } - - if (addressNameBox.getSelectedItem() != null) { - String adName = Utils.objectToString(addressNameBox.getSelectedItem()); - if (ArrayUtils.contains(ChartConstants.getNoneKeys(), adName)) { - definition.setAddressName(StringUtils.EMPTY); - } else { - definition.setAddressName(adName); - } - } - - java.util.List paneList = titleValuePane.updateBean(); - for (int i = 0, size = paneList.size(); i < size; i++) { - Object[] values = (Object[]) paneList.get(i); - if (values.length == 2) { - SeriesDefinition seriesDefinition = new SeriesDefinition(); - seriesDefinition.setSeriesName(values[0]); - seriesDefinition.setValue(values[1]); - definition.addTittleValue(seriesDefinition); - } - } - - return definition; - } - - /** - * 给组件登记一个观察者监听事件 - * - * @param listener 观察者监听事件 - */ - public void registerChangeListener(final UIObserverListener listener) { - changeListeners.add(new ChangeListener() { - public void stateChanged(ChangeEvent e) { - listener.doChange(); - } - }); - } - - /** - * 组件是否需要响应添加的观察者事件 - * - * @return 如果需要响应观察者事件则返回true,否则返回false - */ - public boolean shouldResponseChangeListener() { - return true; - } - - private class InnerTableEditor extends UITableEditor { - private JComponent editorComponent; - - /** - * 返回当前编辑器的值 - */ - public Object getCellEditorValue() { - if (editorComponent instanceof UITextField) { - UITextField textField = (UITextField) editorComponent; - return textField.getText(); - } else if (editorComponent instanceof UIComboBox) { - UIComboBox boxPane = (UIComboBox) editorComponent; - return boxPane.getSelectedItem(); - } - return super.getCellEditorValue(); - } - - /** - * 返回当前编辑器.. - */ - public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - if (column == table.getModel().getColumnCount()) { - return null; - } - if (column == 0) { - UITextField text = new UITextField(); - if (value != null) { - text.setText(Utils.objectToString(value)); - } - - text.addFocusListener(new FocusAdapter() { - public void focusLost(FocusEvent e) { - titleValuePane.stopCellEditing(); - titleValuePane.fireTargetChanged(); - } - }); - - this.editorComponent = text; - } else { - UIComboBox box = new UIComboBox(initNames); - box.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - titleValuePane.fireTargetChanged(); - titleValuePane.stopCellEditing(); - } - }); - - if (value != null && StringUtils.isNotEmpty(value.toString())) { - box.setSelectedItem(value); - } else { - box.setSelectedItem(value); - } - - this.editorComponent = box; - } - return this.editorComponent; - } - } - - /** - * 出发数据集改变 - * @param wrapper 数据集 - */ - public void fireTableDataChange(TableDataWrapper wrapper){ - this.tableDataWrapper = wrapper; - refresh2ComboBox(); - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapCubeDataPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapCubeDataPane4Chart.java deleted file mode 100644 index 96c659d50..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapCubeDataPane4Chart.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.chart.chartdata.TopDefinitionProvider; -import com.fr.chart.chartdata.MapMoreLayerTableDefinition; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.gui.frpane.UIComboBoxPane; -import com.fr.general.Inter; - -import java.awt.*; -import java.util.*; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class MapCubeDataPane4Chart extends UIComboBoxPane { - private MapTableCubeDataPane4Chart tablePane; - - protected void initLayout() { - this.setLayout(new BorderLayout(0, 0)); - this.add(cardPane, BorderLayout.CENTER); - } - - @Override - protected List> initPaneList() { - List list = new ArrayList(); - - list.add(tablePane = new MapTableCubeDataPane4Chart()); - - return list; - } - - @Override - protected String title4PopupWindow() { - return Inter.getLocText("FR-Chart-Map_LayerData"); - } - - /** - * 对数据集或者单元格数据加载界面 - */ - public void populateBean(TopDefinitionProvider definition) { - if(definition instanceof MapMoreLayerTableDefinition) { - MapMoreLayerTableDefinition tableDefinition = (MapMoreLayerTableDefinition)definition; - this.setSelectedIndex(0); - tablePane.populateBean(tableDefinition); - } - } - - /** - * 根据界面 下载保存数据 - */ - public TopDefinitionProvider update() { - return tablePane.updateBean(); - } - - /** - * 出发数据集改变 - * @param tableDataWrapper 数据集 - */ - public void fireTableDataChanged(TableDataWrapper tableDataWrapper) { - tablePane.setTableDataWrapper(tableDataWrapper); - tablePane.refreshAreaNameBox(); - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapDataPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapDataPane4Chart.java deleted file mode 100644 index d7329b3c9..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapDataPane4Chart.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.TableData; -import com.fr.base.chart.chartdata.TopDefinitionProvider; -import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartdata.*; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.frpane.UIComboBoxPane; -import com.fr.design.gui.ilable.BoldFontTextLabel; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; -import com.fr.design.mainframe.chart.gui.ChartDataPane; -import com.fr.general.Inter; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/3 - * Time: 下午6:49 - */ -public class MapDataPane4Chart extends AbstractChartDataPane4Chart { - private UIComboBoxPane dataContentPane; - private MapMoreCubeLayerPane4Chart morePane = new MapMoreCubeLayerPane4Chart(); - private MapSinglePane4Chart singlePane = new MapSinglePane4Chart(); - private ChartCollection currentCollection; - private ItemListener itemListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - fireTableDataChange(); - } - }; - - public MapDataPane4Chart(AttributeChangeListener listener, ChartDataPane parent) { - super(listener, parent); - dataContentPane = new UIComboBoxPane() { - protected void initLayout() { - this.setLayout(new BorderLayout(0, 6)); - JPanel northPane = new JPanel(new FlowLayout(FlowLayout.LEFT)); - northPane.add(new BoldFontTextLabel(Inter.getLocText("FR-Chart-Map_ShowWay") + ":")); - northPane.add(jcb); - this.add(northPane, BorderLayout.NORTH); - this.add(cardPane, BorderLayout.CENTER); - } - protected java.util.List> initPaneList() { - java.util.List list = new ArrayList(); - list.add(singlePane); - list.add(morePane); - return list; - } - - protected void comboBoxItemStateChanged() { - if(currentCollection == null){ - return; - } - fireTableDataChange(); - morePane.init4PopuMapTree(currentCollection); - } - - - protected String title4PopupWindow() { - return Inter.getLocText(new String[]{"Chart-Map", "Data"}); - } - }; - } - - - protected JPanel getDataContentPane(){ - return dataContentPane; - } - - @Override - public void populate(ChartCollection collection) { - currentCollection = collection; - morePane.init4PopuMapTree(collection); - if (collection != null && collection.getSelectedChart() != null) { - Chart chart = collection.getSelectedChart(); - TopDefinitionProvider definition = chart.getFilterDefinition(); - if (definition instanceof TableDataDefinition) { - TableData tableData = ((TableDataDefinition) definition).getTableData(); - if(tableData != null){ - populateChoosePane(tableData); - fireTableDataChange(); - } - } - if(definition instanceof MapSingleLayerTableDefinition) { - singlePane.populateBean(definition); - } else if(definition instanceof MapMoreLayerTableDefinition) { - morePane.populateBean(collection); - } - } - this.remove(leftContentPane); - this.initContentPane(); - this.validate(); - dataSource.addItemListener(dsListener); - initAllListeners(); - initSelfListener(dataContentPane); - this.addAttributeChangeListener(attributeChangeListener); - } - - @Override - public void update(ChartCollection collection) { - if(dataContentPane.getSelectedIndex() == 0) { - collection.getSelectedChart().setFilterDefinition(singlePane.updateBean()); - } else { - morePane.updateBean(collection); - } - currentCollection = collection; - } - - /** - * 数据集数据改变 - */ - public void fireTableDataChange() { - if (dataContentPane == null) { - return; - } - if(dataContentPane.getSelectedIndex() == 0) { - singlePane.fireTableDataChanged(choosePane.getTableDataWrapper()); - } else { - morePane.fireTableDataChanged(choosePane.getTableDataWrapper()); - } - - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapMoreCubeLayerPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapMoreCubeLayerPane4Chart.java deleted file mode 100644 index 7a13e17a4..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapMoreCubeLayerPane4Chart.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.MapPlot; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.MultiTabPane; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class MapMoreCubeLayerPane4Chart extends MultiTabPane { - private static final long serialVersionUID = -174286187746442527L; - - private MapCubeLayerPane layerPane; - private MapCubeDataPane4Chart dataPane; - - @Override - protected List initPaneList() { - List paneList = new ArrayList(); - - paneList.add(layerPane = new MapCubeLayerPane()); - paneList.add(dataPane = new MapCubeDataPane4Chart()); - - return paneList; - } - - public ChartCollection updateBean() { - return null;// do nothing - } - - public void populateBean(ChartCollection collection) { - Chart selectChart = collection.getSelectedChart(); - if(selectChart != null && selectChart.getPlot() instanceof MapPlot) { - MapPlot map = (MapPlot)selectChart.getPlot(); - layerPane.populateBean(map.getMapName()); - } - - // 确认层级关系 - dataPane.populateBean(collection.getSelectedChart().getFilterDefinition()); - } - - public void updateBean(ChartCollection collection) { - - collection.getSelectedChart().setFilterDefinition(dataPane.update()); - - Chart selectChart = collection.getSelectedChart(); - if(selectChart != null && selectChart.getPlot() instanceof MapPlot) { - MapPlot map = (MapPlot)selectChart.getPlot(); - layerPane.updateBean(map.getMapName());// 确定更新地图名称所对应的层级关系 - } - } - - /** - * 刷新层级树 和 数据中populate 数据的层数 - * @param collection 图表收集器. - */ - public void init4PopuMapTree(ChartCollection collection) { - Chart selectChart = collection.getSelectedChart(); - if(selectChart != null && selectChart.getPlot() instanceof MapPlot) { - MapPlot map = (MapPlot)selectChart.getPlot(); - if(layerPane != null) { - layerPane.initRootTree(map.getMapName()); - } - } - } - - /** - * 判断是否合格 - * @param ob 参数判断 - * @return 默认合格. - */ - public boolean accept(Object ob) { - return true; - } - - /** - * 界面标题 - * @return 返回标题 - */ - public String title4PopupWindow() { - return Inter.getLocText("FR-Chart-Map_Multilayer"); - } - - /** - * 重置 - */ - public void reset() { - - } - - /** - * 设置是否支持单元格数据. - */ - public void setSurpportCellData(boolean surpportCellData) { - dataPane.justSupportOneSelect(surpportCellData); - } - - /** - * 出发数据集改变 - * @param tableDataWrapper 数据集 - */ - public void fireTableDataChanged(TableDataWrapper tableDataWrapper) { - dataPane.fireTableDataChanged(tableDataWrapper); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapSinglePane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapSinglePane4Chart.java deleted file mode 100644 index 46a4ba223..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapSinglePane4Chart.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.chart.chartdata.TopDefinitionProvider; -import com.fr.chart.chartdata.MapSingleLayerTableDefinition; -import com.fr.chart.chartdata.TopDefinition; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.general.Inter; - -import java.awt.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class MapSinglePane4Chart extends FurtherBasicBeanPane { - - private MapTableDataSinglePane4Chart tableSinglePane; - - public MapSinglePane4Chart() { - initCom(); - } - - private void initCom() { - this.setLayout(new BorderLayout()); - - this.add(tableSinglePane = new MapTableDataSinglePane4Chart(), BorderLayout.CENTER); - } - - /** - * 判断准许的情况 - * @param ob 数据集 - * @return 是不是顶层数据 - */ - public boolean accept(Object ob) { - return ob instanceof TopDefinition; - } - - /** - * 重置 - */ - public void reset() { - - } - - /** - *界面标题 - * @return 界面标题 - */ - public String title4PopupWindow() { - return Inter.getLocText(new String[]{"SingleLayer", "Chart-Map"}); - } - - /** - * 加载单层地图时的 数据来源界面 - */ - public void populateBean(TopDefinitionProvider ob) { - if(ob instanceof MapSingleLayerTableDefinition) { - tableSinglePane.populateBean((MapSingleLayerTableDefinition)ob); - } - } - - /** - * 保存下载 单层数据界面 - */ - public TopDefinitionProvider updateBean() { - return tableSinglePane.updateBean(); - } - - /** - * 出发数据集改变 - * @param tableDataWrapper 数据集 - */ - public void fireTableDataChanged(TableDataWrapper tableDataWrapper) { - tableSinglePane.setTableDataWrapper(tableDataWrapper); - tableSinglePane.refreshAreaNameBox(); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapTableCubeDataPane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapTableCubeDataPane4Chart.java deleted file mode 100644 index 2da1d6840..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapTableCubeDataPane4Chart.java +++ /dev/null @@ -1,93 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.chart.chartdata.MapMoreLayerTableDefinition; -import com.fr.chart.chartdata.MapSingleLayerTableDefinition; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.general.Inter; - -import java.awt.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class MapTableCubeDataPane4Chart extends FurtherBasicBeanPane { - - private MapMoreTableIndexPane tablePane; - private TableDataWrapper tableDataWrapper; - - public MapTableCubeDataPane4Chart() { - this.setLayout(new BorderLayout()); - tablePane = new MapMoreTableIndexPane(); - this.add(tablePane, BorderLayout.CENTER); - } - - /** - * 刷新区域名称列表 - */ - public void refreshAreaNameBox() { - TableDataWrapper tableDataWrappe = tableDataWrapper; - if (tableDataWrappe == null) { - return; - } - - java.util.List columnNameList = tableDataWrappe.calculateColumnNameList(); - tablePane.initAreaComBox(columnNameList.toArray(new String[columnNameList.size()])); - } - - public void setTableDataWrapper(TableDataWrapper wrapper){ - this.tableDataWrapper = wrapper; - } - - /** - * 界面接入 - * @param ob 界面 - * @return 返回接入. - */ - public boolean accept(Object ob) { - return true; - } - - /** - * 重置 - */ - public void reset() { - } - - /** - * 界面弹出标题 - * @return 返回标题. - */ - public String title4PopupWindow() { - return Inter.getLocText("FR-Chart-Table_Data"); - } - - @Override - public void populateBean(MapMoreLayerTableDefinition tableDefinition) { - - if (tableDefinition != null) { - MapSingleLayerTableDefinition[] values = tableDefinition.getNameValues(); - if(values != null && values.length > 0) { - tablePane.populateBean(values[0]); - } - } - } - - @Override - public MapMoreLayerTableDefinition updateBean() { - MapMoreLayerTableDefinition tableDefinition = new MapMoreLayerTableDefinition(); - - TableDataWrapper tableDataWrappe =tableDataWrapper; - if (tableDataWrappe != null) { - tableDefinition.setTableData(tableDataWrappe.getTableData()); - - tableDefinition.clearNameValues(); - tableDefinition.addNameValue(tablePane.updateBean()); - } - - return tableDefinition; - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/chart/report/MapTableDataSinglePane4Chart.java b/designer_chart/src/com/fr/design/chart/report/MapTableDataSinglePane4Chart.java deleted file mode 100644 index df0dca928..000000000 --- a/designer_chart/src/com/fr/design/chart/report/MapTableDataSinglePane4Chart.java +++ /dev/null @@ -1,268 +0,0 @@ -package com.fr.design.chart.report; - -import com.fr.base.Utils; -import com.fr.chart.chartdata.MapSingleLayerTableDefinition; -import com.fr.chart.chartdata.SeriesDefinition; -import com.fr.design.beans.FurtherBasicBeanPane; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.frpane.UICorrelationPane; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilable.BoldFontTextLabel; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itable.UITableEditor; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.general.Inter; -import com.fr.stable.StringUtils; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class MapTableDataSinglePane4Chart extends FurtherBasicBeanPane implements UIObserver { - - private static final int LABEL_WIDTH_GAP = 5; - private static final int COM_HEIGHT = 20; - private ArrayList changeListeners = new ArrayList(); - private String[] initNames = {""}; - - private UIComboBox areaNameBox; - private UICorrelationPane titleValuePane; - private TableDataWrapper tableDataWrapper; - - public MapTableDataSinglePane4Chart() { - this.setLayout(new BorderLayout()); - JPanel pane = new JPanel(); - this.add(pane, BorderLayout.CENTER); - pane.setLayout(new BorderLayout()); - - pane.add(getAreaNamePane(), BorderLayout.NORTH); - - String[] titles = {Inter.getLocText("FR-Chart-Area_Title"), Inter.getLocText("FR-Chart-Area_Value")}; - titleValuePane = new UICorrelationPane(titles){ - public UITableEditor createUITableEditor() { - return new InnerTableEditor(); - } - }; - - pane.add(titleValuePane, BorderLayout.CENTER); - } - - - private JPanel getAreaNamePane(){ - final UILabel label = new BoldFontTextLabel(Inter.getLocText("FR-Chart-Map_ShowWay") + ":"); - UILabel nameLabel = new UILabel(Inter.getLocText("FR-Chart-Area_Name") + ":", SwingConstants.RIGHT){ - public Dimension getPreferredSize() { - return new Dimension(label.getPreferredSize().width+LABEL_WIDTH_GAP,COM_HEIGHT); - } - }; - areaNameBox = new UIComboBox(); - areaNameBox.setPreferredSize(new Dimension(80, 20)); - double p =TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p, f}; - double[] rowSize = {p}; - Component[][] components = new Component[][]{ - new Component[]{nameLabel, areaNameBox}, - }; - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - /** - *刷新区域名称列表 - */ - public void refreshAreaNameBox() {// 刷新区域名称列表 - TableDataWrapper tableDataWrappe = tableDataWrapper; - if (tableDataWrappe == null) { - return; - } - java.util.List columnNameList = tableDataWrappe.calculateColumnNameList(); - initNames = columnNameList.toArray(new String[columnNameList.size()]); - - Object oldSelected = areaNameBox.getSelectedItem(); - areaNameBox.removeAllItems(); - for(int i = 0, size = initNames.length; i < size; i++) { - areaNameBox.addItem(initNames[i]); - } - areaNameBox.getModel().setSelectedItem(oldSelected); - stopEditing(); - } - - - /** - * 是否接受数据集 - * @param ob 具体变量 - * @return 不是 - */ - public boolean accept(Object ob) { - return false; - } - - /** - * 界面重置 - */ - public void reset() { - - } - - /** - * 界面弹出标题 - * @return 标题 - */ - public String title4PopupWindow() { - return Inter.getLocText("FR-Chart-Table_Data"); - } - - private void stopEditing() { - } - - @Override - public void populateBean(MapSingleLayerTableDefinition ob) { - stopEditing(); - if (ob instanceof MapSingleLayerTableDefinition) { - MapSingleLayerTableDefinition mapDefinition = (MapSingleLayerTableDefinition) ob; - -// fromTableData.populateBean(((NameTableData) mapDefinition.getTableData())); - areaNameBox.setSelectedItem(mapDefinition.getAreaName()); - - java.util.List paneList = new ArrayList(); - int titleValueSize = mapDefinition.getTitleValueSize(); - for(int i = 0; i < titleValueSize; i++) { - SeriesDefinition definition = mapDefinition.getTitleValueWithIndex(i); - if(definition != null && definition.getSeriesName() != null && definition.getValue() != null) { - paneList.add(new Object[]{definition.getSeriesName(), definition.getValue()}); - } - } - - if(!paneList.isEmpty()) { - titleValuePane.populateBean(paneList); - } - } - } - - @Override - public MapSingleLayerTableDefinition updateBean() {// 从一行内容中update - stopEditing(); - - MapSingleLayerTableDefinition definition = new MapSingleLayerTableDefinition(); - - TableDataWrapper tableDataWrappe = tableDataWrapper; -// = fromTableData.getTableDataWrapper(); - if (tableDataWrappe == null || areaNameBox.getSelectedItem() == null) { - return null; - } - - definition.setTableData(tableDataWrapper.getTableData()); - definition.setAreaName(Utils.objectToString(areaNameBox.getSelectedItem())); - - java.util.List paneList = titleValuePane.updateBean(); - for(int i = 0, size = paneList.size(); i < size; i++) { - Object[] values = (Object[])paneList.get(i); - if(values.length == 2) { - SeriesDefinition seriesDefinition = new SeriesDefinition(); - seriesDefinition.setSeriesName(values[0]); - seriesDefinition.setValue(values[1]); - definition.addTitleValue(seriesDefinition); - } - } - - return definition; - } - - /** - * 给组件登记一个观察者监听事件 - * - * @param listener 观察者监听事件 - */ - public void registerChangeListener(final UIObserverListener listener) { - changeListeners.add(new ChangeListener() { - public void stateChanged(ChangeEvent e) { - listener.doChange(); - } - }); - } - - /** - * 组件是否需要响应添加的观察者事件 - * - * @return 如果需要响应观察者事件则返回true,否则返回false - */ - public boolean shouldResponseChangeListener() { - return true; - } - - private class InnerTableEditor extends UITableEditor { - private JComponent editorComponent; - - /** - * 返回当前编辑器的值 - */ - public Object getCellEditorValue() { - if(editorComponent instanceof UITextField) { - UITextField textField = (UITextField)editorComponent; - return textField.getText(); - } else if(editorComponent instanceof UIComboBox) { - UIComboBox boxPane = (UIComboBox)editorComponent; - return boxPane.getSelectedItem(); - } - return super.getCellEditorValue(); - } - - /** - * 返回当前编辑器.. - */ - public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - if (column == table.getModel().getColumnCount()) { - return null; - } - if(column == 0 ) { - UITextField text = new UITextField(); - if(value != null) { - text.setText(Utils.objectToString(value)); - } - - text.registerChangeListener(new UIObserverListener() { - @Override - public void doChange() { - titleValuePane.fireTargetChanged(); - } - }); - - this.editorComponent = text; - } else { - UIComboBox box = new UIComboBox(initNames); - box.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - titleValuePane.fireTargetChanged(); - titleValuePane.stopCellEditing(); - } - }); - - if (value != null && StringUtils.isNotEmpty(value.toString())) { - box.setSelectedItem(value); - } else { - box.setSelectedItem(value); - } - - this.editorComponent = box; - } - return this.editorComponent; - } - } - - public void setTableDataWrapper(TableDataWrapper wrapper){ - this.tableDataWrapper = wrapper; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/AbstractChartDataPane4Chart.java b/designer_chart/src/com/fr/design/mainframe/AbstractChartDataPane4Chart.java deleted file mode 100644 index f7c3ca189..000000000 --- a/designer_chart/src/com/fr/design/mainframe/AbstractChartDataPane4Chart.java +++ /dev/null @@ -1,244 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.base.TableData; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartdata.JSONTableData; -import com.fr.data.impl.EmbeddedTableData; -import com.fr.data.impl.ExcelTableData; -import com.fr.design.event.UIObserver; -import com.fr.design.event.UIObserverListener; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.mainframe.chart.gui.ChartDataPane; -import com.fr.design.mainframe.chart.gui.data.*; -import com.fr.general.Inter; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/3 - * Time: 下午6:53 - */ -public class AbstractChartDataPane4Chart extends DataContentsPane implements UIObserver { - - private static final int DATA_SOURCE_GAP = 18; - private static final int WIDTH = 262; - - protected ChartDataPane parentPane; - protected ChartDesignDataLoadPane choosePane; - protected JComponent choose = new UILabel(); - - protected UIObserverListener observerListener; - - protected UIComboBox dataSource = new UIComboBox( - new String[]{"JSON" + Inter.getLocText("Chart-DS_TableData"), Inter.getLocText("Chart-Use_Local") + "EXCEL", Inter.getLocText("Chart-DS_Embedded_TableData")}); - - protected ItemListener dsListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - int index = dataSource.getSelectedIndex(); - if (index == 0) { - initJSON(); - } else if (index == 1) { - initExcel(); - } else { - initEmbbed(); - } - remove(leftContentPane); - clearTableDataSetting(); - initContentPane(); - AbstractChartDataPane4Chart.this.validate(); - } - }; - - protected AttributeChangeListener attributeChangeListener; - - public AbstractChartDataPane4Chart(final AttributeChangeListener listener, ChartDataPane parent) { - this.parentPane = parent; - this.attributeChangeListener = listener; - initJSON(); - initAll(); - } - - protected void populateChoosePane(TableData tableData) { - dataSource.removeItemListener(dsListener); - if (tableData instanceof JSONTableData) { - initJSON(); - dataSource.setSelectedIndex(0); - } else if (tableData instanceof ExcelTableData) { - initExcel(); - dataSource.setSelectedIndex(1); - } else if (tableData instanceof EmbeddedTableData) { - initEmbbed(); - dataSource.setSelectedIndex(2); - } - choosePane.populateChartTableData(tableData); - dataSource.addItemListener(dsListener); - } - - - protected void initJSON() { - choosePane = new JSONDataPane(this); - UILabel url = new UILabel("URL:"); - url.setHorizontalAlignment(SwingConstants.RIGHT); - choose = url; - } - - protected void initExcel() { - choose = new UIButton(Inter.getLocText("Chart-Select_Path")); - choosePane = new ExcelDataPane(this, choose); - } - - protected void initEmbbed() { - choosePane = new EmbbeddDataPane(this); - choose = null; - } - - @Override - public void setSupportCellData(boolean supportCellData) { - - } - - @Override - protected JPanel createContentPane() { - double p = TableLayout.PREFERRED; - double[] columnSize = {WIDTH}; - double[] rowSize = {p, p}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("Chart-Data_Import"))}, - new Component[]{createDataImportPane()} - }; - - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - private JPanel createDataImportPane() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {f}; - double[] rowSize = {p, p, p}; - Component[][] components = new Component[][]{ - new Component[]{createDataSourcePane()}, - new Component[]{new JSeparator()}, - new Component[]{createDataSetPane()} - }; - - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - - /** - * 数据配置面板 - * - * @return - */ - protected JPanel createDataSetPane() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {f}; - double[] rowSize = {p, p}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("Chart-Data_Configuration"))}, - new Component[]{getDataContentPane()} - }; - - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - protected JPanel getDataContentPane() { - return new JPanel(); - } - - - private JPanel createDataSourcePane() { - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {DATA_SOURCE_GAP, f}; - double[] rowSize = {p,}; - Component[][] components = new Component[][]{ - new Component[]{null, createChooseBoxPane()}, - }; - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - private JPanel createChooseBoxPane() { - UILabel dataSourceLabel = new UILabel(Inter.getLocText("Chart-Data_Resource") + ":"); - dataSourceLabel.setHorizontalAlignment(SwingConstants.RIGHT); - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p, f}; - double[] rowSize = {p, p}; - Component[][] components = new Component[][]{ - new Component[]{dataSourceLabel, dataSource}, - new Component[]{choose, choosePane} - }; - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - - /** - * 注册观察者监听事件 - * - * @param listener 观察者监听事件 - */ - public void registerChangeListener(UIObserverListener listener) { - this.observerListener = listener; - } - - /** - * 使用应该响应listener - * - * @return 应该响应 - */ - public boolean shouldResponseChangeListener() { - return true; - } - - - protected void initSelfListener(Container parentComponent) { - for (int i = 0; i < parentComponent.getComponentCount(); i++) { - Component tmpComp = parentComponent.getComponent(i); - if (tmpComp instanceof Container) { - initListener((Container) tmpComp); - } - if (tmpComp instanceof UIObserver) { - ((UIObserver) tmpComp).registerChangeListener(observerListener); - } - } - } - - - @Override - public void populate(ChartCollection collection) { - - } - - @Override - public void update(ChartCollection collection) { - - } - - /** - * 清空数据集的设置 - */ - public void clearTableDataSetting() { - - } - - /** - * 数据集数据改变 - */ - public void fireTableDataChange() { - - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/AbstractMapPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/AbstractMapPlotPane4ToolBar.java deleted file mode 100644 index d2da88c83..000000000 --- a/designer_chart/src/com/fr/design/mainframe/AbstractMapPlotPane4ToolBar.java +++ /dev/null @@ -1,111 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.chart.base.ChartConstants; -import com.fr.chart.base.MapSvgXMLHelper; -import com.fr.chart.chartattr.*; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.mainframe.chart.ChartDesignEditPane; -import com.fr.general.ComparatorUtils; -import com.fr.stable.Constants; - -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/1 - * Time: 下午3:15 - */ -public abstract class AbstractMapPlotPane4ToolBar extends JPanel{ - - - protected static final int COM_HEIGHT = 22; - protected static final int COM_GAP = 14; - protected static final int COMBOX_WIDTH = 230; - - protected ChartDesigner chartDesigner; - protected UIComboBox mapTypeComboBox; - - protected ItemListener mapTypeListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - calculateDetailMaps(mapTypeComboBox.getSelectedIndex()); - } - }; - - - public AbstractMapPlotPane4ToolBar(ChartDesigner designer){ - this.chartDesigner = designer; - this.setLayout(new FlowLayout(FlowLayout.LEFT, COM_GAP, 0)); - this.setBorder(new EmptyBorder(2, 0, 2, 0)); - mapTypeComboBox = new UIComboBox(getMapTypes()) { - public Dimension getPreferredSize() { - return new Dimension(COMBOX_WIDTH, COM_HEIGHT); - } - }; - mapTypeComboBox.addItemListener(mapTypeListener); - this.add(mapTypeComboBox); - } - - - protected abstract void calculateDetailMaps(int mapType); - - /** - * 更新地图面板 - * @param mapType 地图名字 - */ - public void populateMapPane(String mapType){ - mapTypeComboBox.removeItemListener(mapTypeListener); - for (String type : getMapTypes()) { - java.util.List list = MapSvgXMLHelper.getInstance().getNamesListWithCateName(type); - for (Object name : list) { - if(ComparatorUtils.equals(name,mapType)){ - mapTypeComboBox.setSelectedItem(type); - break; - } - } - } - mapTypeComboBox.addItemListener(mapTypeListener); - } - - public abstract String[] getMapTypes(); - - /** - * 切换图表类型 - */ - public void fireChange(){ - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - if(chart.getPlot().getPlotStyle() != ChartConstants.STYLE_NONE){ - resetChart(chart); - } - chart.switchPlot(getSelectedClonedPlot()); - - if(chart.getPlot().getPlotStyle() != ChartConstants.STYLE_NONE){ - resetChart(chart); - } - chartDesigner.fireTargetModified(); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - } - - protected void resetChart(Chart chart){ - chart.setTitle(new Title(chart.getTitle().getTextObject())); - chart.setBorderStyle(Constants.LINE_NONE); - chart.setBorderColor(new Color(150, 150, 150)); - chart.setBackground(null); - } - - protected abstract Plot getSelectedClonedPlot(); - - /** - * 触发更新 - */ - public void fireTargetModified() { - chartDesigner.fireTargetModified(); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ChartArea.java b/designer_chart/src/com/fr/design/mainframe/ChartArea.java deleted file mode 100644 index e30f15ea5..000000000 --- a/designer_chart/src/com/fr/design/mainframe/ChartArea.java +++ /dev/null @@ -1,521 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe; - -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itextfield.UINumberField; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.scrollruler.*; -import com.fr.general.FRScreen; -import com.fr.general.Inter; - -import javax.swing.*; -import javax.swing.border.LineBorder; -import java.awt.*; -import java.awt.event.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-13 - * Time: 下午5:08 - */ -public class ChartArea extends JComponent implements ScrollRulerComponent { - - private static final int TOPGAP = 8; - private static final int MIN_WIDTH = 36; - private static final int MIN_HEIGHT = 21; - private static final double SLIDER_FLOAT = 120.0; - private static final double SLIDER_MIN = 60.0; - private static final double DEFAULT_SLIDER = 100.0; - private static final int ROTATIONS = 50; - private int designerwidth = 810; - private int designerheight = 500; - private int customWidth = 810; - private int customHeight = 500; - private ChartDesigner designer; - private int horizontalValue = 0; - private int verticalValue = 0; - private int verticalMax = 0; - private int horicalMax = 0; - private FormScrollBar verScrollBar; - private FormScrollBar horScrollBar; - //显示和设置图表界面大小的控件 - private UINumberField widthPane; - private UINumberField heightPane; - private boolean isValid = true; - private double START_VALUE = DEFAULT_SLIDER; - - public ChartArea(ChartDesigner designer) { - this(designer, true); - } - - public ChartArea(ChartDesigner designer, boolean useScrollBar) { - this.designer = designer; - this.designer.setParent(this); - this.customWidth = designer.getTarget().getWidth(); - this.customHeight = designer.getTarget().getHeight(); - this.designerwidth = this.customWidth; - this.designerheight = this.customHeight; - isValid = useScrollBar; - verScrollBar = new FormScrollBar(Adjustable.VERTICAL, this); - horScrollBar = new FormScrollBar(Adjustable.HORIZONTAL, this); - if (useScrollBar) { - this.setLayout(new FormRulerLayout()); - designer.setBorder(new LineBorder(new Color(198, 198, 198))); - this.add(FormRulerLayout.CENTER, designer); - addFormSize(); - this.add(FormRulerLayout.VERTICAL, verScrollBar); - this.add(FormRulerLayout.HIRIZONTAL, horScrollBar); - enableEvents(AWTEvent.MOUSE_WHEEL_EVENT_MASK); - } else { - // 报表参数界面只要标尺和中心pane - this.setLayout(new RulerLayout()); - this.add(RulerLayout.CENTER, designer); - addFormRuler(); - } - this.setFocusTraversalKeysEnabled(false); - } - - /** - * 增加表单的页面大小控制界面,包括手动修改和滑块拖动 - */ - private void addFormSize() { - double f = TableLayout.FILL; - double p = TableLayout.PREFERRED; - double[] rowSize = {f}; - double[] columnSize = {p, f, p, p, p, p, p,f,p}; - UILabel tipsPane = new UILabel("chart"); - tipsPane.setPreferredSize(new Dimension(200, 0)); - widthPane = new UINumberField(); - widthPane.setPreferredSize(new Dimension(60, 0)); - heightPane = new UINumberField(); - heightPane.setPreferredSize(new Dimension(60, 0)); - JPanel panel = new JPanel(){ - public Dimension getPreferredSize(){ - return new Dimension(200,0); - } - }; - JPanel resizePane = TableLayoutHelper.createCommonTableLayoutPane(new JComponent[][]{ - {tipsPane, new UILabel(), widthPane, new UILabel(Inter.getLocText("Indent-Pixel")), new UILabel("x"), - heightPane, new UILabel(Inter.getLocText("Indent-Pixel")),new UILabel(),panel}}, - rowSize, columnSize, 8 - ); - this.add(FormRulerLayout.BOTTOM, resizePane); - setWidgetsConfig(); - // 先初始话滑块及对应事件,然后获取分辨率调整容器的显示大小 - initCalculateSize(); - } - - private void setWidgetsConfig() { - widthPane.setHorizontalAlignment(widthPane.CENTER); - heightPane.setHorizontalAlignment(heightPane.CENTER); - widthPane.setMaxDecimalLength(0); - heightPane.setMaxDecimalLength(0); - //控件初始值就是根节点组件初始的宽和高 - widthPane.setValue(designerwidth); - heightPane.setValue(designerheight); - addWidthPaneListener(); - addHeightPaneListener(); - } - - private void initCalculateSize() { - Toolkit toolkit = Toolkit.getDefaultToolkit(); - Dimension scrnsize = toolkit.getScreenSize(); - double value = FRScreen.getByDimension(scrnsize).getValue(); - if (value != DEFAULT_SLIDER) { - reCalculateRoot(value, true); - } - } - - //设置宽度的控件及响应事件 - private void addWidthPaneListener() { - widthPane.addActionListener( - new ActionListener() { - public void actionPerformed(ActionEvent evt) { - reCalculateWidth((int) ((UINumberField) evt.getSource()).getValue()); - } - } - ); - widthPane.addFocusListener( - new FocusAdapter() { - public void focusLost(FocusEvent e) { - // 失去焦点时,可以认为输入结束 - reCalculateWidth((int) ((UINumberField) e.getSource()).getValue()); - } - } - ); - } - - private void addHeightPaneListener() { - heightPane.addActionListener( - new ActionListener() { - public void actionPerformed(ActionEvent evt) { - reCalculateHeight((int) ((UINumberField) evt.getSource()).getValue()); - } - } - ); - heightPane.addFocusListener( - new FocusAdapter() { - public void focusLost(FocusEvent e) { - // 失去焦点时,可以认为输入结束 - reCalculateHeight((int) ((UINumberField) e.getSource()).getValue()); - } - } - ); - } - - private void reCalculateWidth(int width) { - int dW = width - designerwidth; - if (dW == 0) { - return; - } - // 图表设计器先设大小为实际的高和当前的宽,然后按此调整内部的组件 - designer.setSize(width, designerheight); - designerwidth = width; - customWidth = width; - designer.getTarget().setWidth(width); - ChartArea.this.validate(); - designer.fireTargetModified(); - } - - private void reCalculateHeight(int height) { - int dW = height - designerwidth; - if (dW == 0) { - return; - } - // 图表设计器先设大小为实际的高和当前的宽,然后按此调整内部的组件 - designer.setSize(designerwidth, height); - designerheight = height; - customHeight = height; - this.designer.getTarget().setHeight(height); - ChartArea.this.validate(); - designer.fireTargetModified(); - } - - /** - * 按照界面大小的百分比值调整root大小 - * - * @param needCalculateParaHeight 是否需要调整参数界面高度 - * @param value - */ - private void reCalculateRoot(double value, boolean needCalculateParaHeight) { - if (value == START_VALUE) { - return; - } - double percent = (value - START_VALUE) / START_VALUE; - Dimension d = new Dimension(designerwidth, designerheight); - // 调整自适应布局大小后,同步调整参数界面和border大小,此时刷新下formArea - ChartArea.this.validate(); - START_VALUE = value; - } - - /** - * 增加刻度条 - */ - public void addFormRuler() { - BaseRuler vRuler = new VerticalRuler(this); - BaseRuler hRuler = new HorizontalRuler(this); - this.add(RulerLayout.VRULER, vRuler); - this.add(RulerLayout.HRULER, hRuler); - } - - /** - * 鼠标滚轮事件 - * 由于表单设计界面要求: 容器大小大于界面时,滚动条才可以拖动,所以不支持滚动无限往下滚 - */ - @Override - protected void processMouseWheelEvent(java.awt.event.MouseWheelEvent evt) { - int id = evt.getID(); - switch (id) { - case MouseEvent.MOUSE_WHEEL: { - int rotations = evt.getWheelRotation(); - int value = this.verScrollBar.getValue() + rotations * ROTATIONS; - value = Math.min(value, verticalMax); - value = Math.max(0, value); - doLayout(); //加dolayout是因为每次滚动都要重置 Max的大小 - this.verScrollBar.setValue(value); - break; - } - } - } - - /** - * 容器布局 - */ - public void doLayout() { - layout(); - if (isValid) { - setScrollBarProperties(customWidth - designer.getWidth(), horScrollBar); - //计算滚动条值的时候应该算上参数面板的高度 - setScrollBarProperties(customHeight - designer.getHeight(), verScrollBar); - } - } - - /** - * 设置滚动条的属性 - */ - private void setScrollBarProperties(int value, FormScrollBar bar) { - if (value <= 0) { - // 界面有滚动条时,手动缩小容器宽度到界面内,重置滚动条值和max - setScrollBarMax(0, bar); - bar.setMaximum(0); - bar.setValue(0); - bar.setEnabled(false); - } else { - //参数面板拖拽过程中value一直为当前value - int oldValue = verticalValue; - setScrollBarMax(value, bar); - bar.setEnabled(true); - bar.setMaximum(value); - bar.setValue(value); - bar.setValue(oldValue); - } - } - - private boolean isScrollNotVisible(FormScrollBar bar) { - if (bar.getOrientation() == Adjustable.VERTICAL) { - return verticalMax == 0; - } else { - return horicalMax == 0; - } - } - - private void setScrollBarMax(int max, FormScrollBar bar) { - if (bar.getOrientation() == Adjustable.VERTICAL) { - verticalMax = max; - } else { - horicalMax = max; - } - } - - /** - * 返回designer的最小高度 - * - * @return int - */ - public int getMinHeight() { - return MIN_HEIGHT; - } - - /** - * 返回designer的最小宽度 - * - * @return int - */ - public int getMinWidth() { - return MIN_WIDTH; - } - - /** - * getRulerLengthUnit - * - * @return short - */ - public short getRulerLengthUnit() { - return -1; - } - - /** - * 返回水平滚动条的value - * - * @return int - */ - public int getHorizontalValue() { - return horizontalValue; - } - - /** - * 设置水平滚动条的value - * - * @param newValue - */ - public void setHorizontalValue(int newValue) { - this.horizontalValue = newValue; - } - - /** - * 返回竖直滚动条的value - * - * @return - */ - public int getVerticalValue() { - return verticalValue; - } - - /** - * 竖直滚动条赋值 - * - * @param newValue - */ - public void setVerticalValue(int newValue) { - this.verticalValue = newValue; - } - - /** - * 返回当前designer的高度 - * - * @return height - */ - public int getDesignerHeight() { - return designer.getHeight(); - } - - /** - * 返回当前designer的宽度 - * - * @return - */ - public int getDesignerWidth() { - return designer.getWidth(); - } - - /** - * 返回宽度控件的value - * - * @return 宽度 - */ - public double getWidthPaneValue() { - return widthPane.getValue(); - } - - /** - * 设置宽度值 - * - * @param value 值 - */ - public void setWidthPaneValue(int value) { - widthPane.setValue(value); - } - - /** - * 设置高度值 - * - * @param value 值 - */ - public void setHeightPaneValue(int value) { - heightPane.setValue(value); - } - - /** - * 返回高度控件的value - * - * @return 高度 - */ - public double getHeightPaneValue() { - return heightPane.getValue(); - } - - /** - * 返回界面区域大小 - * - * @return Dimension - */ - public Dimension getAreaSize() { - return new Dimension(horScrollBar.getMaximum(), verScrollBar.getMaximum()); - } - - /** - * setAreaSize - * - * @param totalSize - * @param horizontalValue - * @param verticalValue - */ - public void setAreaSize(Dimension totalSize, int horizontalValue, int verticalValue, double width, double height, double slide) { - horScrollBar.setMaximum((int) totalSize.getWidth()); - verScrollBar.setMaximum((int) totalSize.getHeight()); - horScrollBar.setValue(horizontalValue); - verScrollBar.setValue(verticalValue); - // 撤销会refresh底层容器,需要按照之前的宽高和百分比重置下容器size - if (width != widthPane.getValue()) { - widthPane.setValue(width); - reCalculateWidth((int) width); - } - if (height != heightPane.getValue()) { - heightPane.setValue(height); - reCalculateHeight((int) height); - } - // undo时会重新refreshRoot,需要再次按照百分比调整下 - START_VALUE = DEFAULT_SLIDER; - reCalculateRoot(slide, true); - } - - public int getCustomWidth(){ - return this.customWidth; - } - - public int getCustomHeight(){ - return this.customHeight; - } - - /** - * 计算滚动条的值和max - * - * @param oldmax 之前最大值 - * @param max 当前最大值 - * @param newValue 当前value - * @param oldValue 之前value - * @param visi designer的大小 - * @param orientation 滚动条方向 - * @return 计算后的值和max - */ - @Override - public Point calculateScroll(int oldmax, int max, int newValue, int oldValue, int visi, int orientation) { - int scrollMax = orientation == 1 ? verticalMax : horicalMax; - //防止滚动条到达低端还可以继续点击移动(滚动条最大范围不变时,newValue要在范围之内) - if (oldmax == scrollMax + visi && newValue > scrollMax) { - return new Point(oldValue, oldmax); - } - return new Point(newValue, max); - } - - private class FormRulerLayout extends RulerLayout { - public FormRulerLayout() { - super(); - } - - /** - * 表单用的layout,当前不需要标尺 - */ - public void layoutContainer(Container target) { - synchronized (target.getTreeLock()) { - Insets insets = target.getInsets(); - int top = insets.top; - int left = insets.left; - int bottom = target.getHeight() - insets.bottom; - int right = target.getWidth() - insets.right; - Dimension resize = resizePane.getPreferredSize(); - Dimension hbarPreferredSize = null; - Dimension vbarPreferredSize = null; - - resizePane.setBounds(left, bottom - resize.height, right, resize.height); - if (horScrollBar != null) { - hbarPreferredSize = horScrollBar.getPreferredSize(); - vbarPreferredSize = verScrollBar.getPreferredSize(); - horScrollBar.setBounds(left, bottom - hbarPreferredSize.height - resize.height, right - BARSIZE, hbarPreferredSize.height); - verScrollBar.setBounds(right - vbarPreferredSize.width, top, vbarPreferredSize.width, bottom - BARSIZE - resize.height); - } - ChartDesigner dg = ((ChartDesigner) designer); - Rectangle rec = new Rectangle(left + (right - designerwidth) / 2, TOPGAP, right, bottom); - //是否为图表 - if (isValid) { - int maxHeight = bottom - hbarPreferredSize.height - resize.height - TOPGAP * 2; - int maxWidth = right - vbarPreferredSize.width; - designerwidth = designerwidth> maxWidth ? maxWidth : designerwidth; - designerheight = designerheight > maxHeight ? maxHeight : designerheight; - int designerLeft = left + (verScrollBar.getX() - designerwidth) / 2; - rec = new Rectangle(designerLeft, TOPGAP, designerwidth, designerheight); - } - // designer是整个表单设计界面中的面板部分,目前只放自适应布局和参数界面。 - designer.setBounds(rec); - } - } - - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ChartDesigner.java b/designer_chart/src/com/fr/design/mainframe/ChartDesigner.java deleted file mode 100644 index f16fe98ec..000000000 --- a/designer_chart/src/com/fr/design/mainframe/ChartDesigner.java +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe; -import com.fr.form.ui.ChartBook; -import com.fr.design.designer.TargetComponent; -import com.fr.design.mainframe.toolbar.ToolBarMenuDockPlus; -import com.fr.design.menu.MenuDef; -import com.fr.design.menu.ShortCut; -import com.fr.design.menu.ToolBarDef; - -import javax.swing.*; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.awt.event.MouseMotionAdapter; -import java.util.ArrayList; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-13 - * Time: 下午4:30 - */ -public class ChartDesigner extends TargetComponent implements MouseListener{ - - private ChartArea chartArea;//上层区域 - private boolean hasCalGap = false; - private ArrayList changeListeners = new ArrayList(); - public ChartDesigner(ChartBook chartBook) { - super(chartBook); - this.addMouseListener(this); - updateUI();// 初始化界面设计工具的UI实例 - } - - /** - * 设置上层区域 - * @param chartArea 图表区域 - */ - public void setParent(ChartArea chartArea) { - this.chartArea = chartArea; - } - - /** - * 复制 - */ - public void copy() { - - } - - /** - * 黏贴 - * @return 成功返回true - */ - public boolean paste() { - return false; - } - - /** - * 剪切 - * @return 成功返回TRUE - */ - public boolean cut() { - return false; - } - - /** - * 停止编辑 - */ - public void stopEditing() { - - } - - /** - * 权限编辑面板 - * @return 面板 - */ - public AuthorityEditPane createAuthorityEditPane() { - return null; - } - - /** - * 工具条 - * @return 工具条 - */ - public ToolBarMenuDockPlus getToolBarMenuDockPlus() { - return null; - } - - /** - * 菜单状态 - * @return 状态 - */ - public int getMenuState() { - return 0; - } - - /** - * 东上面板 - * @return 面板 - */ - public JPanel getEastUpPane() { - return null; - } - - /** - * 东下面板 - * @return 面板 - */ - public JPanel getEastDownPane() { - return null; - } - - /** - * 取消格式 - */ - public void cancelFormat() { - - } - - /** - * 图表设计器得工具条项 - * @return 图表设计器得工具条项 - */ - public ToolBarDef[] toolbars4Target() { - return new ToolBarDef[0]; - } - - /** - * 菜单 - * @return 菜单 - */ - public MenuDef[] menus4Target() { - return new MenuDef[0]; - } - - /** - * 菜单项 - * @return 菜单项 - */ - public ShortCut[] shortcut4TemplateMenu() { - return new ShortCut[0]; - } - - /** - * 权限编辑得菜单项 - * @return 菜单项 - */ - public ShortCut[] shortCuts4Authority() { - return new ShortCut[0]; - } - - /** - * 表单得工具条按钮 - * @return 表单得工具条按钮 - */ - public JComponent[] toolBarButton4Form() { - return new JComponent[0]; - } - - - /** - * 返回表单区域 - * @return 表单区域 - */ - public ChartArea getArea() { - return chartArea; - } - - - /** - * 鼠标点击 - * @param e 事件 - */ - public void mouseClicked(MouseEvent e) { - } - - /** - * 鼠标按下 - * @param e 事件 - */ - public void mousePressed(MouseEvent e) { - - } - - /** - * 鼠标释放 - * @param e 事件 - */ - public void mouseReleased(MouseEvent e) { - - } - - /** - * 鼠标进入 - * @param e 事件 - */ - public void mouseEntered(MouseEvent e) { - - } - - /** - * 鼠标退出 - * @param e 事件 - */ - public void mouseExited(MouseEvent e) { - - } - - - private void registerChangeListener(ChangeListener changeListener){ - if(changeListener == null){ - return; - } - this.changeListeners.add(changeListener); - } - - - public void populate(){ - } - - /** - * 清除工具栏上面全局风格按钮的选中 - */ - public void clearToolBarStyleChoose(){ - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ChartDesignerUI.java b/designer_chart/src/com/fr/design/mainframe/ChartDesignerUI.java deleted file mode 100644 index 5ba44f735..000000000 --- a/designer_chart/src/com/fr/design/mainframe/ChartDesignerUI.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe; - -import com.fr.base.BaseUtils; -import com.fr.base.ScreenResolution; -import com.fr.base.chart.BaseChartGlyph; -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.ColumnIndependentChart; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.mainframe.chart.ChartDesignEditPane; -import com.fr.general.FRLogger; - -import javax.swing.*; -import javax.swing.plaf.ComponentUI; -import java.awt.*; -import java.awt.event.MouseEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-13 - * Time: 下午4:55 - */ -public class ChartDesignerUI extends ComponentUI { - private static final Icon ADD = BaseUtils.readIcon("/com/fr/design/images/add.png"); - private static final Icon DEL = BaseUtils.readIcon("/com/fr/design/images/del.png"); - private static final int ICON_SIZE = 22; - private static final int H_GAP = 2; - private static final int V_GAP = 6; - private Rectangle[] iconLocations; - private Rectangle add; - private Rectangle del; - private UILabel tooltipLabel; - private int overIndex = -1;//鼠标悬浮上去的图表的INDEX - - // 图表当前的设计器 - private ChartDesigner designer; - - public ChartDesignerUI() { - - - } - - /** - * 加载界面 - * - * @param c 组件 - */ - public void installUI(JComponent c) { - designer = (ChartDesigner) c; - } - - /** - * 渲染当前的设计界面以及设计辅助状态 - * - * @param g 画图类 - * @param c 组件 - */ - @Override - public void paint(Graphics g, JComponent c) { - ChartCollection chartCollection = (ChartCollection) designer.getTarget().getChartCollection(); - Chart editingChart = chartCollection.getSelectedChart(); - BaseChartGlyph chartGlyph = null; - if (editingChart != null && editingChart.getPlot() != null) { - chartGlyph = editingChart.createGlyph(editingChart.defaultChartData()); - } - int parentWidth = designer.getSize().width; - int parentHeight = designer.getSize().height; - int chartWidth = designer.getArea().getCustomWidth(); - int chartHeight = designer.getArea().getCustomHeight(); - Graphics clipg; - clipg = g.create(-designer.getArea().getHorizontalValue(), -designer.getArea().getVerticalValue(), parentWidth + designer.getArea().getHorizontalValue(), parentHeight + designer.getArea().getVerticalValue()); - clipg = clipg.create(1, 1, designer.getArea().getCustomWidth(), designer.getArea().getCustomHeight()); - g.setColor(Color.white); - g.fillRect(0, 0, chartWidth, chartHeight); - chartGlyph.setUseChangeChart(true); - Image chartImage = chartGlyph.toImage(chartWidth, chartHeight, ScreenResolution.getScreenResolution()); - clipg.drawImage(chartImage, 0, 0, chartWidth, chartHeight, null); - paintChange(clipg, c); - } - - - //绘制切换的东西 - private void paintChange(Graphics g, JComponent c) { - int chartWidth = designer.getArea().getCustomWidth(); - ChartCollection collection = (ChartCollection) designer.getTarget().getChartCollection(); - int chartCount = collection.getChartCount(); - iconLocations = new Rectangle[chartCount]; - int startX = chartWidth - V_GAP - ICON_SIZE; - if (chartCount == 1) { - //只有一个时,只绘制新增按钮,不绘制删除按钮 - ADD.paintIcon(c, g, startX, H_GAP); - add = new Rectangle(startX, H_GAP, ICON_SIZE, ICON_SIZE); - del = null; - } else { - DEL.paintIcon(c, g, startX, H_GAP); - del = new Rectangle(startX, H_GAP, ICON_SIZE, ICON_SIZE); - startX -= (V_GAP + ICON_SIZE); - ADD.paintIcon(c, g, startX, H_GAP); - add = new Rectangle(startX, H_GAP, ICON_SIZE, ICON_SIZE); - } - - for (int i = chartCount - 1; i >= 0; i--) { - Plot plot = collection.getChart(i).getPlot(); - if (plot == null) { - continue; - } - if (collection.getSelectedIndex() == i) { - Icon ploticon = BaseUtils.readIcon(plot.getPlotSmallIconPath() + "_normal.png"); - if (ploticon != null) { - startX -= (V_GAP + ICON_SIZE); - ploticon.paintIcon(c, g, startX, H_GAP); - } - - }else if(overIndex == i){ - Icon ploticon = BaseUtils.readIcon(plot.getPlotSmallIconPath() + "_over.png"); - if (ploticon != null) { - startX -= (V_GAP + ICON_SIZE); - ploticon.paintIcon(c, g, startX, H_GAP); - } - } else { - Icon ploticon = BaseUtils.readIcon(plot.getPlotSmallIconPath() + "_gray.png"); - if (ploticon != null) { - startX -= (V_GAP + ICON_SIZE); - ploticon.paintIcon(c, g, startX, H_GAP); - } - } - - iconLocations[i] = new Rectangle(startX, H_GAP, ICON_SIZE, ICON_SIZE); - } - } - - /** - * 鼠标点击 - * - * @param e 事件 - */ - public void mouseClicked(MouseEvent e) { - Point clikPoint = new Point(e.getPoint().x + designer.getArea().getHorizontalValue(), e.getPoint().y + designer.getArea().getVerticalValue()); - ChartCollection collection = (ChartCollection) designer.getTarget().getChartCollection(); - for (int i = 0; i < iconLocations.length; i++) { - if (iconLocations[i].contains(clikPoint)) { - if (i == collection.getSelectedIndex()) { - return; - } - collection.setSelectedIndex(i); - designer.repaint(); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - return; - } - } - - if (add.contains(clikPoint)) { - Chart[] barChart = ColumnIndependentChart.columnChartTypes; - try { - Chart newChart = (Chart) barChart[0].clone(); - int select = collection.getSelectedIndex(); - collection.addNamedChartAtIndex(newChart.getTitle().getTextObject().toString(), newChart,select+1); - collection.setSelectedIndex(select+1); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - } catch (CloneNotSupportedException e1) { - FRLogger.getLogger().error("Error in Clone"); - } - designer.fireTargetModified(); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - return; - } - - if (del != null && del.contains(clikPoint)) { - int selectedIndex = collection.getSelectedIndex(); - collection.removeNameObject(selectedIndex); - if (selectedIndex > 0) { - collection.setSelectedIndex(selectedIndex - 1); - } else { - collection.setSelectedIndex(0); - } - designer.fireTargetModified(); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - } - } - - /** - * 鼠标悬浮上时的数据点提示 - * - * @param e 事件 - */ - public void mouseMoved(MouseEvent e) { - Point clikPoint = new Point(e.getPoint().x + designer.getArea().getHorizontalValue(), e.getPoint().y + designer.getArea().getVerticalValue()); - if (clikPoint.getY() < H_GAP || clikPoint.getY() > H_GAP + ICON_SIZE) { - ToolTip4Chart.getInstance().hideToolTip(); - overIndex = -1; - return; - } - ChartCollection collection = (ChartCollection) designer.getTarget().getChartCollection(); - for (int i = 0; i < iconLocations.length; i++) { - if (iconLocations[i].contains(clikPoint)) { - overIndex = i; - String chartName = collection.getChartName(i); - ToolTip4Chart.getInstance().showToolTip(chartName,e.getXOnScreen(),e.getYOnScreen()); - return; - } - } - ToolTip4Chart.getInstance().hideToolTip(); - overIndex = -1; - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ChartToolBarPane.java b/designer_chart/src/com/fr/design/mainframe/ChartToolBarPane.java deleted file mode 100644 index 0550c463c..000000000 --- a/designer_chart/src/com/fr/design/mainframe/ChartToolBarPane.java +++ /dev/null @@ -1,558 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe; - -import com.fr.base.ChartPreStyleManagerProvider; -import com.fr.base.ChartPreStyleServerManager; -import com.fr.base.background.ColorBackground; -import com.fr.chart.base.*; -import com.fr.chart.chartattr.*; -import com.fr.chart.chartglyph.ConditionAttr; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.mainframe.chart.ChartDesignEditPane; -import com.fr.design.mainframe.chart.ChartEditPane; -import com.fr.design.mainframe.chart.gui.type.ColumnPlotPane4ToolBar; -import com.fr.design.mainframe.chart.gui.type.PlotPane4ToolBar; -import com.fr.general.FRFont; -import com.fr.general.Inter; -import com.fr.stable.Constants; - -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-13 - * Time: 下午8:32 - */ -public class ChartToolBarPane extends JPanel { - public static final int TOTAL_HEIGHT = 42; - private static final int COM_HEIGHT = 22; - private static final int GAP = 7; - private static final int COM_GAP = 14; - private static final int COMBOX_WIDTH = 230; - - private static final String[] CHOOSEITEM = new String[]{ - Inter.getLocText("FR-Chart-Type_Column"), - Inter.getLocText("FR-Chart-Type_Line"), - Inter.getLocText("FR-Chart-Type_Bar"), - Inter.getLocText("FR-Chart-Type_Pie"), - Inter.getLocText("FR-Chart-Type_Area"), - Inter.getLocText("FR-Chart-Type_XYScatter"), - Inter.getLocText("FR-Chart-Chart_BubbleChart"), - Inter.getLocText("FR-Chart-Type_Radar"), - Inter.getLocText("FR-Chart-Type_Stock"), - Inter.getLocText("FR-Chart-Type_Meter"), - Inter.getLocText("FR-Chart-Type_Range"), - Inter.getLocText("FR-Chart-Type_Comb"), - Inter.getLocText("FR-Chart-Type_Gantt"), - Inter.getLocText("FR-Chart-Type_Donut"), - Inter.getLocText("FR-Chart-Map_Map"), - "gis"+Inter.getLocText("FR-Chart-Map_Map") - }; - - private UIComboBox chooseComboBox = new UIComboBox(CHOOSEITEM) { - public Dimension getPreferredSize() { - return new Dimension(COMBOX_WIDTH, COM_HEIGHT); - } - }; - - private JPanel stylePane; - private JPanel plotTypeComboBoxPane; - private UIButton topDownShade = new UIButton(Inter.getLocText("FR-Chart-Style_TopDownShade")); - private UIButton transparent = new UIButton(Inter.getLocText("FR-Chart-Style_Transparent")); - private UIButton plane3D = new UIButton(Inter.getLocText("FR-Chart-Style_Plane3D")); - private UIButton gradient = new UIButton(Inter.getLocText("FR-Chart-Style_GradientHighlight")); - private ItemListener itemListener = new ItemListener() { - - @Override - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.DESELECTED) { - ChartToolBarPane.this.remove(centerPane); - ChartToolBarPane.this.remove(stylePane); - if(chooseComboBox.getSelectedIndex() < ChartTypeValueCollection.MAP.toInt()){ - calSubChartTypesPane(chooseComboBox.getSelectedIndex()); - ChartToolBarPane.this.add(subChartTypesPane,BorderLayout.CENTER); - centerPane = subChartTypesPane; - ChartToolBarPane.this.add(stylePane, BorderLayout.EAST); - } else{ - calMapSubChartTypesPane(chooseComboBox.getSelectedIndex()); - ChartToolBarPane.this.add(mapTypePane, BorderLayout.CENTER); - centerPane = mapTypePane; - } - ChartCollection chartCollection = (ChartCollection) chartDesigner.getTarget().getChartCollection(); - Chart chart = chartCollection.getSelectedChart(); - ChartToolBarPane.this.validate(); - fireTypeChange(); - - if(chooseComboBox.getSelectedIndex() == ChartTypeValueCollection.MAP.toInt()){ - mapTypePane.populateMapPane(((MapPlot) chart.getPlot()).getMapName()); - }else if(chooseComboBox.getSelectedIndex() == ChartTypeValueCollection.GIS.toInt()){ - mapTypePane.populateMapPane(chart.getChartName()); - } - } - } - }; - private PlotPane4ToolBar subChartTypesPane;//默认柱形图 - - private AbstractMapPlotPane4ToolBar mapTypePane;//地图类型选择的面板 - private JPanel centerPane; - - private ChartDesigner chartDesigner; - private int lastStyleIndex = -1; - private MouseAdapter styleListener = new MouseAdapter() { - @Override - public void mousePressed(MouseEvent e) { - ChartCollection chartCollection = (ChartCollection) chartDesigner.getTarget().getChartCollection(); - Chart chart = chartCollection.getSelectedChart(); - Plot newPlot; - int chartType =chart.getPlot().getPlotType().toInt(); - if(chartType >= ChartTypeValueCollection.MAP.toInt()){ - return; - } - newPlot = subChartTypesPane.setSelectedClonedPlotWithCondition(chart.getPlot()); - chartDesigner.fireTargetModified(); - UIButton button = (UIButton)e.getSource(); - //如果是第二次选中,就是消除 - if(button.isSelected()){ - button.setSelected(false); - chart.setPlot(newPlot); - resetChart(chart); - lastStyleIndex = -1; - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - return; - } - clearStyleChoose(); - setStyle(chart,e,newPlot); - lastStyleIndex = chart.getPlot().getPlotStyle(); - } - }; - - private void setStyle( Chart chart,MouseEvent e,Plot newPlot){ - if (e.getSource() == topDownShade) { - topDownShade.setSelected(true); - chart.setPlot(newPlot); - chart.getPlot().setPlotStyle(ChartConstants.STYLE_SHADE); - resetChart(chart); - createCondition4Shade(chart); - setPlotFillStyle(chart); - } else if (e.getSource() == transparent) { - transparent.setSelected(true); - chart.setPlot(newPlot); - chart.getPlot().setPlotStyle(ChartConstants.STYLE_TRANSPARENT); - resetChart(chart); - createCondition4Transparent(chart); - setPlotFillStyle(chart); - } else if (e.getSource() == plane3D) { - plane3D.setSelected(true); - chart.setPlot(newPlot); - chart.getPlot().setPlotStyle(ChartConstants.STYLE_3D); - resetChart(chart); - createCondition4Plane3D(chart); - setPlotFillStyle(chart); - } else if (e.getSource() == gradient) { - gradient.setSelected(true); - chart.setPlot(newPlot); - chart.getPlot().setPlotStyle(ChartConstants.STYLE_OUTER); - resetChart(chart); - createCondition4HighLight(chart); - setPlotFillStyle(chart); - } - chart.setStyleGlobal(true); - ChartEditPane pane = ChartDesignEditPane.getInstance(); - pane.styleChange(true); - ChartDesignEditPane.getInstance().populate((ChartCollection)chartDesigner.getTarget().getChartCollection()); - pane.styleChange(false); - } - - public ChartToolBarPane(ChartDesigner designer) { - chartDesigner = designer; - subChartTypesPane = new ColumnPlotPane4ToolBar(designer);//默认柱形图 - this.setLayout(new BorderLayout()); - this.setBorder(new EmptyBorder(GAP, COM_GAP, GAP, 0)); - plotTypeComboBoxPane = new JPanel(); - plotTypeComboBoxPane.setBorder(new EmptyBorder(2, 0, 2, 0)); - plotTypeComboBoxPane.setLayout(new BorderLayout()); - plotTypeComboBoxPane.add(chooseComboBox, BorderLayout.CENTER); - chooseComboBox.addItemListener(itemListener); - //默认选择第一个 - chooseComboBox.setSelectedIndex(0); - this.add(plotTypeComboBoxPane, BorderLayout.WEST); - initStylePane(); - this.add(stylePane, BorderLayout.EAST); - this.add(subChartTypesPane, BorderLayout.CENTER); - this.centerPane = subChartTypesPane; - topDownShade.addMouseListener(styleListener); - transparent.addMouseListener(styleListener); - plane3D.addMouseListener(styleListener); - gradient.addMouseListener(styleListener); - } - - private void initStylePane(){ - stylePane = new JPanel() { - public Dimension getPreferredSize() { - Dimension size = super.getPreferredSize(); - return new Dimension(size.width, COM_HEIGHT); - } - }; - stylePane.setLayout(new FlowLayout(FlowLayout.LEFT, COM_GAP, 0)); - stylePane.setBorder(new EmptyBorder(3, 0, 3, 0)); - stylePane.add(topDownShade); - stylePane.add(transparent); - stylePane.add(plane3D); - stylePane.add(gradient); - } - - /** - * 清除工具栏上面全局风格按钮的选中 - */ - public void clearStyleChoose() { - topDownShade.setSelected(false); - transparent.setSelected(false); - plane3D.setSelected(false); - gradient.setSelected(false); - } - - - private void calMapSubChartTypesPane(int index){ - ChartTypeValueCollection type = ChartTypeValueCollection.parse(index); - mapTypePane = PlotToolBarFactory.createToolBar4MapPlot(type,chartDesigner); - } - - private void calSubChartTypesPane(int index) { - ChartTypeValueCollection type = ChartTypeValueCollection.parse(index); - subChartTypesPane = PlotToolBarFactory.createToolBar4NormalPlot(type,chartDesigner); - } - - - private void fireTypeChange() { - if(chooseComboBox.getSelectedIndex() < ChartTypeValueCollection.MAP.toInt()){ - subChartTypesPane.fireChange(); - }else{ - mapTypePane.fireChange(); - } - } - - //图表区属性清空 - private void resetChart(Chart chart) { - chart.setTitle(new Title(chart.getTitle().getTextObject())); - chart.setBorderStyle(Constants.LINE_NONE); - chart.setBorderColor(new Color(150, 150, 150)); - chart.setBackground(null); - setPlotFillStyle(chart); - } - - //高光渐变的默认属性设置 - private void createCondition4HighLight(Chart chart) { - if (chart != null) { - //标题 - Title title = new Title(chart.getTitle().getTextObject()); - chart.setTitle(title); - title.setTitleVisible(true); - TextAttr textAttr = title.getTextAttr(); - if (textAttr == null) { - textAttr = new TextAttr(); - title.setTextAttr(textAttr); - } - title.setPosition(Constants.LEFT); - textAttr.setFRFont(FRFont.getInstance("Microsoft YaHei", Font.BOLD, 16f, new Color(51, 51, 51))); - - //图例 - Legend legend = new Legend(); - legend.setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 9f, new Color(138, 140, 139))); - legend.setPosition(Constants.RIGHT_TOP); - chart.getPlot().setLegend(legend); - - //分类轴,现在只有柱形图,条形图,面积图 - if (chart.getPlot() instanceof CategoryPlot) { - CategoryPlot plot = (CategoryPlot) chart.getPlot(); - - //分类轴设置 - Axis cateAxis = plot.getxAxis(); - cateAxis.setAxisStyle(Constants.LINE_THICK); - cateAxis.setAxisColor(new Color(204, 220, 228)); - cateAxis.setTickMarkType(Constants.TICK_MARK_INSIDE); - cateAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setShowAxisLabel(true); - cateAxis.getTextAttr().setFRFont(FRFont.getInstance("Microsoft YaHei", Font.PLAIN, 10f, new Color(138, 140, 139))); - - //值轴 - Axis valueAxis = plot.getyAxis(); - valueAxis.setAxisStyle(Constants.NONE); - valueAxis.setAxisColor(null); - valueAxis.setTickMarkType(Constants.TICK_MARK_INSIDE); - valueAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - valueAxis.setShowAxisLabel(true); - valueAxis.getTextAttr().setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 10f, new Color(138, 140, 139))); - - //绘图区 - plot.setBorderStyle(Constants.LINE_THIN); - plot.setBorderColor(new Color(204, 220, 228)); - plot.setBackground(ColorBackground.getInstance(new Color(248, 247, 245))); - plot.getyAxis().setMainGridStyle(Constants.LINE_THIN); - plot.getyAxis().setMainGridColor(new Color(192, 192, 192)); - } - - } - } - - //平面3D的默认属性设置 - private void createCondition4Plane3D(Chart chart) { - if (chart != null) { - //标题 - Title title = new Title(chart.getTitle().getTextObject()); - chart.setTitle(title); - title.setTitleVisible(true); - TextAttr textAttr = title.getTextAttr(); - if (textAttr == null) { - textAttr = new TextAttr(); - title.setTextAttr(textAttr); - } - title.setPosition(Constants.CENTER); - textAttr.setFRFont(FRFont.getInstance("Microsoft YaHei", Font.PLAIN, 16f, new Color(51, 51, 51))); - - //图例 - Legend legend = new Legend(); - legend.setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 9f, new Color(128, 128, 128))); - legend.setPosition(Constants.TOP); - chart.getPlot().setLegend(legend); - - //分类轴,现在只有柱形图,条形图,面积图 - if (chart.getPlot() instanceof CategoryPlot) { - CategoryPlot plot = (CategoryPlot) chart.getPlot(); - //分类轴设置 - Axis cateAxis = plot.getxAxis(); - cateAxis.setAxisStyle(Constants.LINE_THICK); - cateAxis.setAxisColor(new Color(57, 57, 57)); - cateAxis.setTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setShowAxisLabel(true); - cateAxis.getTextAttr().setFRFont(FRFont.getInstance("Microsoft YaHei", Font.PLAIN, 10f, new Color(57, 57, 57))); - - //值轴设置 - Axis valueAxis = plot.getyAxis(); - valueAxis.setAxisStyle(Constants.LINE_NONE); - valueAxis.setTickMarkType(Constants.TICK_MARK_NONE); - valueAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - valueAxis.setShowAxisLabel(false); - - //绘图区 - plot.getyAxis().setMainGridStyle(Constants.LINE_THIN); - plot.getyAxis().setMainGridColor(new Color(192, 192, 192)); - chart.setBorderStyle(Constants.LINE_NONE); - - //数据标签 - ConditionAttr attrList = plot.getConditionCollection().getDefaultAttr(); - DataSeriesCondition attr = attrList.getExisted(AttrContents.class); - if (attr != null) { - attrList.remove(attr); - } - AttrContents attrContents = new AttrContents(); - attrContents.setPosition(Constants.OUTSIDE); - attrContents.setSeriesLabel(ChartConstants.VALUE_PARA); - attrContents.setTextAttr(new TextAttr(FRFont.getInstance("SimSun", Font.PLAIN, 9f, new Color(51, 51, 51)))); - attrList.addDataSeriesCondition(attrContents); - } - } - } - - //透明风格的默认属性设置 - private void createCondition4Transparent(Chart chart) { - if (chart != null) { - //标题 - Title title = new Title(chart.getTitle().getTextObject()); - chart.setTitle(title); - title.setTitleVisible(true); - TextAttr textAttr = title.getTextAttr(); - if (textAttr == null) { - textAttr = new TextAttr(); - title.setTextAttr(textAttr); - } - title.setPosition(Constants.LEFT); - textAttr.setFRFont(FRFont.getInstance("Microsoft YaHei", Font.BOLD, 16f, new Color(192, 192, 192))); - - //图例 - Legend legend = new Legend(); - legend.setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 9f, new Color(138, 140, 139))); - legend.setPosition(Constants.RIGHT_TOP); - chart.getPlot().setLegend(legend); - - Plot plot = chart.getPlot(); - //绘图区 - chart.setBackground(ColorBackground.getInstance(new Color(51, 51, 51))); - - //分类轴,现在只有柱形图,条形图,面积图 - if (plot instanceof CategoryPlot) { - //边框 - plot.setBorderStyle(Constants.LINE_THIN); - plot.setBorderColor(new Color(65, 65, 65)); - - //分类轴设置 - Axis cateAxis = plot.getxAxis(); - cateAxis.setAxisStyle(Constants.LINE_THICK); - cateAxis.setAxisColor(new Color(192, 192, 192)); - cateAxis.setTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setShowAxisLabel(true); - cateAxis.getTextAttr().setFRFont(FRFont.getInstance("Microsoft YaHei", Font.PLAIN, 10f, new Color(150, 150, 150))); - - //值轴 - Axis valueAxis = plot.getyAxis(); - valueAxis.setShowAxisLabel(true); - valueAxis.setAxisStyle(Constants.LINE_NONE); - valueAxis.getTextAttr().setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 10f, new Color(150, 150, 150))); - valueAxis.setMainGridStyle(Constants.LINE_THIN); - valueAxis.setMainGridColor(new Color(63, 62, 62)); - } - } - } - - //渐变的默认属性设置 - private void createCondition4Shade(Chart chart) { - if (chart != null) { - //标题 - Title title = new Title(chart.getTitle().getTextObject()); - chart.setTitle(title); - title.setTitleVisible(true); - TextAttr textAttr = title.getTextAttr(); - if (textAttr == null) { - textAttr = new TextAttr(); - title.setTextAttr(textAttr); - } - title.setPosition(Constants.CENTER); - textAttr.setFRFont(FRFont.getInstance("Microsoft YaHei", Font.BOLD, 16f, new Color(0, 51, 102))); - - //图例 - Legend legend = new Legend(); - legend.setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 9f, new Color(128, 128, 128))); - legend.setPosition(Constants.BOTTOM); - chart.getPlot().setLegend(legend); - - //分类轴,现在只有柱形图,条形图,面积图 - if (chart.getPlot() instanceof CategoryPlot) { - CategoryPlot plot = (CategoryPlot) chart.getPlot(); - - //分类轴设置 - Axis cateAxis = plot.getxAxis(); - cateAxis.setAxisStyle(Constants.LINE_THICK); - cateAxis.setAxisColor(new Color(73, 100, 117)); - cateAxis.setTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setSecTickMarkType(Constants.TICK_MARK_NONE); - cateAxis.setShowAxisLabel(true); - cateAxis.getTextAttr().setFRFont(FRFont.getInstance("Microsoft YaHei", Font.PLAIN, 10f, new Color(128, 128, 128))); - - //值轴 - Axis valueAxis = plot.getyAxis(); - valueAxis.setShowAxisLabel(true); - valueAxis.getTextAttr().setFRFont(FRFont.getInstance("SimSun", Font.PLAIN, 10f, new Color(128, 128, 128))); - valueAxis.setAxisStyle(Constants.LINE_NONE); - - //绘图区 - plot.getyAxis().setMainGridStyle(Constants.LINE_THIN); - plot.getyAxis().setMainGridColor(new Color(192, 192, 192)); - plot.setHorizontalIntervalBackgroundColor(new Color(243, 243, 243)); - } - } - } - - private void setPlotFillStyle(Chart chart) { - ChartPreStyleManagerProvider manager = ChartPreStyleServerManager.getProviderInstance(); - Plot plot = chart.getPlot(); - Object preStyle = null; - String name = ""; - if (topDownShade.isSelected()) { - name = Inter.getLocText("FR-Chart-Style_Retro"); - preStyle = manager.getPreStyle(name); - } else if (transparent.isSelected()) { - name = Inter.getLocText("FR-Chart-Style_Fresh"); - preStyle = manager.getPreStyle(name); - } else if (plane3D.isSelected()) { - name = Inter.getLocText("FR-Chart-Style_Bright"); - preStyle = manager.getPreStyle(name); - } else if (gradient.isSelected()) { - name = Inter.getLocText("FR-Chart-Style_Bright"); - preStyle = manager.getPreStyle(name); - }else{ - preStyle = null; - } - if (preStyle == null) { - plot.getPlotFillStyle().setColorStyle(ChartConstants.COLOR_DEFAULT); - } else { - AttrFillStyle fillStyle = ((ChartPreStyle) preStyle).getAttrFillStyle(); - fillStyle.setFillStyleName(name); - plot.setPlotFillStyle(fillStyle); - } - - } - - public void populate(){ - ChartCollection chartCollection = (ChartCollection) chartDesigner.getTarget().getChartCollection(); - Chart chart = chartCollection.getSelectedChart(); - chooseComboBox.removeItemListener(itemListener); - chooseComboBox.setSelectedIndex(chart.getPlot().getPlotType().toInt()); - int chartType =chart.getPlot().getPlotType().toInt(); - this.removeAll(); - populateStyle(); - this.add(plotTypeComboBoxPane, BorderLayout.WEST); - initStylePane(); - if(chartType < ChartTypeValueCollection.MAP.toInt()){ - calSubChartTypesPane(chartType); - subChartTypesPane.setSelectedIndex(chart.getPlot().getDetailType()); - ChartToolBarPane.this.add(subChartTypesPane, BorderLayout.CENTER); - this.add(subChartTypesPane, BorderLayout.CENTER); - centerPane = subChartTypesPane; - this.add(stylePane, BorderLayout.EAST); - }else if(chartType == ChartTypeValueCollection.MAP.toInt()){ - calMapSubChartTypesPane(chartType); - mapTypePane.populateMapPane(((MapPlot) chart.getPlot()).getMapName()); - ChartToolBarPane.this.add(mapTypePane, BorderLayout.CENTER); - centerPane = mapTypePane; - }else{ - calMapSubChartTypesPane(chartType); - mapTypePane.populateMapPane((chart.getPlot()).getPlotName()); - ChartToolBarPane.this.add(mapTypePane, BorderLayout.CENTER); - centerPane = mapTypePane; - } - ChartToolBarPane.this.validate(); - chooseComboBox.addItemListener(itemListener); - } - - - - private void populateStyle() { - clearStyleChoose(); - ChartCollection chartCollection = (ChartCollection) chartDesigner.getTarget().getChartCollection(); - Chart chart = chartCollection.getSelectedChart(); - int plotStyle = chart.getPlot().getPlotStyle(); - switch (plotStyle) { - case ChartConstants.STYLE_SHADE: - topDownShade.setSelected(chart.isStyleGlobal() && true); - break; - case ChartConstants.STYLE_TRANSPARENT: - transparent.setSelected(chart.isStyleGlobal() && true); - break; - case ChartConstants.STYLE_3D: - plane3D.setSelected(chart.isStyleGlobal() && true); - break; - case ChartConstants.STYLE_OUTER: - gradient.setSelected(chart.isStyleGlobal() && true); - break; - default: - clearStyleChoose(); - break; - } - lastStyleIndex = plotStyle; - } - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/DesignerFrame4Chart.java b/designer_chart/src/com/fr/design/mainframe/DesignerFrame4Chart.java deleted file mode 100644 index d282aa104..000000000 --- a/designer_chart/src/com/fr/design/mainframe/DesignerFrame4Chart.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.design.ChartEnvManager; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.mainframe.actions.UpdateVersion; -import com.fr.design.mainframe.chart.UpdateOnLinePane; -import com.fr.design.mainframe.toolbar.ToolBarMenuDock; -import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; -import com.fr.json.JSONObject; -import com.fr.stable.ProductConstants; -import com.fr.stable.StableUtils; - -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; -import java.util.ArrayList; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class DesignerFrame4Chart extends DesignerFrame { - - /** - * Constructor. - * - * @param ad - */ - public DesignerFrame4Chart(ToolBarMenuDock ad) { - super(ad); - } - - - - - - protected ArrayList getFrameListeners(){ - ArrayList listeners = super.getFrameListeners(); - listeners.add(0, new WindowAdapter() { - @Override - public void windowOpened(WindowEvent e) { - super.windowOpened(e); - judgeFirstUseWhenStart(); - } - }); - return listeners; - } - - /** - * 退出 - */ - public void exit() { - ChartEnvManager.getEnvManager().saveXMLFile(); - super.exit(); - } - - //不需要西侧的文件树面板 - protected void laoyoutWestPane(){ - - } - - protected void judgeFirstUseWhenStart(){ - boolean isNeed2Check =ChartEnvManager.getEnvManager().isPushUpdateAuto() || ChartEnvManager.getEnvManager().isOverOneMonth(); - if(!StableUtils.checkDesignerActive(ChartEnvManager.getEnvManager().getActivationKey()) - || isNeed2Check){ - ChartEnvManager.getEnvManager().setActivationKey(ChartEnvManager.ACTIVE_KEY); - checkVersion(); - if(ChartEnvManager.getEnvManager().isOverOneMonth()){ - ChartEnvManager.getEnvManager().resetCheckDate(); - } - } - } - - private void checkVersion(){ - - new UpdateVersion(){ - protected void done() { - try { - JSONObject serverVersion = get(); - String version = serverVersion.getString(UpdateVersion.VERSION); - if(!ComparatorUtils.equals(ProductConstants.RELEASE_VERSION, version)){ - UpdateOnLinePane updateOnLinePane = new UpdateOnLinePane(version); - BasicDialog dg = updateOnLinePane.showWindow4UpdateOnline(DesignerContext.getDesignerFrame()); - updateOnLinePane.setParentDialog(dg); - dg.setVisible(true); - } - }catch (Exception e){ - FRLogger.getLogger().error(e.getMessage()); - } - } - }.execute(); - } - - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/GisMapPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/GisMapPlotPane4ToolBar.java deleted file mode 100644 index 4cf8da691..000000000 --- a/designer_chart/src/com/fr/design/mainframe/GisMapPlotPane4ToolBar.java +++ /dev/null @@ -1,203 +0,0 @@ -package com.fr.design.mainframe; -import com.fr.chart.base.ChartConstants; -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.GisMapIndependentChart; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import javax.swing.*; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import java.awt.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/1 - * Time: 下午3:11 - */ -public class GisMapPlotPane4ToolBar extends AbstractMapPlotPane4ToolBar { - private static final int BAIDU = 0; - private static final int GOOGLE= 1; - - - private static final String[] TYPE_NAMES = new String[]{ - Inter.getLocText("FR-Chart-Map_Baidu"), - Inter.getLocText("FR-Chart-Map_Google")}; - - - private UITextField keyField = new UITextField(){ - public Dimension getPreferredSize() { - return new Dimension(COMBOX_WIDTH, COM_HEIGHT); - } - }; - - private DocumentListener keyListener = new DocumentListener() { - @Override - public void insertUpdate(DocumentEvent e) { - fireKeyChange(); - } - - @Override - public void removeUpdate(DocumentEvent e) { - fireKeyChange(); - } - - @Override - public void changedUpdate(DocumentEvent e) { - fireKeyChange(); - } - } ; - - private void fireKeyChange(){ - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - GisMapPlot plot =(GisMapPlot) chart.getPlot(); - String key = this.keyField.getText().trim(); - if(plot.isGisType() && key != plot.getBaiduKey()){ - plot.setBaiduKey(key); - }else if(!plot.isGisType() && key != plot.getGoogleKey()){ - plot.setGoogleKey(key); - } - chartDesigner.fireTargetModified(); - } - - public GisMapPlotPane4ToolBar(final ChartDesigner chartDesigner){ - super(chartDesigner); - this.add(getKeyPane()); - keyField.getDocument().addDocumentListener(keyListener); - } - - private JPanel getKeyPane(){ - double p = TableLayout.PREFERRED; - double f = TableLayout.FILL; - double[] columnSize = {p,f}; - double[] rowSize = {p}; - Component[][] components = new Component[][]{ - new Component[]{new UILabel("key"),keyField}, - }; - return TableLayoutHelper.createTableLayoutPane(components, rowSize, columnSize); - } - - - protected void calculateDetailMaps(int mapType){ - switch (mapType) { - case BAIDU: - populateDetilMaps(Inter.getLocText("FR-Chart-Map_Baidu")); - break; - case GOOGLE: - populateDetilMaps(Inter.getLocText("FR-Chart-Map_Google")); - break; - default: - populateDetilMaps(Inter.getLocText("FR-Chart-Map_Baidu")); - } - fireMapChange(); - - } - - /** - * 更新地图面板 - * @param mapType 地图名字 - */ - public void populateMapPane(String mapType){ - super.populateMapPane(mapType); - populateDetilMaps(mapTypeComboBox.getSelectedItem().toString()); - } - - protected void populateDetilMaps(String mapType){ - mapTypeComboBox.removeItemListener(mapTypeListener); - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - GisMapPlot plot = (GisMapPlot) chart.getPlot(); - keyField.getDocument().removeDocumentListener(keyListener); - if(plot.isGisType()){ - keyField.setText(plot.getBaiduKey()); - mapTypeComboBox.setSelectedIndex(0); - }else{ - keyField.setText(plot.getGoogleKey()); - mapTypeComboBox.setSelectedIndex(1); - } - keyField.getDocument().addDocumentListener(keyListener); - mapTypeComboBox.addItemListener(mapTypeListener); - } - - private void fireMapChange(){ - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - if(chart.getPlot().getPlotStyle() != ChartConstants.STYLE_NONE){ - resetChart(chart); - } - - Chart[] cs = GisMapIndependentChart.gisChartTypes; - GisMapPlot plot; - if (cs.length > 0) { - try { - plot = (GisMapPlot)cs[0].getPlot().clone(); - } catch (Exception e) { - plot = new GisMapPlot(); - } - } else { - plot = new GisMapPlot(); - } - - try { - chart.switchPlot((Plot)plot.clone()); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In GisChart"); - chart.switchPlot(new GisMapPlot()); - } - - plot = (GisMapPlot) chart.getPlot(); - boolean index = plot.isGisType(); - plot.setGisType(mapTypeComboBox.getSelectedIndex() == 1); - - if(index != plot.isGisType()){ - if(plot.isGisType()){ - this.keyField.setText(plot.getBaiduKey()); - }else{ - this.keyField.setText(plot.getGoogleKey()); - } - }else{ - String key = this.keyField.getText().trim(); - if(plot.isGisType() && key != plot.getBaiduKey()){ - plot.setBaiduKey(key); - }else if(!plot.isGisType() && key != plot.getGoogleKey()){ - plot.setGoogleKey(key); - } - } - chartDesigner.fireTargetModified(); - } - - protected Plot getSelectedClonedPlot() { - Chart[] mapChart = GisMapIndependentChart.gisChartTypes; - GisMapPlot newPlot; - if (mapChart.length > 0) { - try { - newPlot = (GisMapPlot)mapChart[0].getPlot().clone(); - } catch (Exception e) { - newPlot = new GisMapPlot(); - } - } else { - newPlot = new GisMapPlot(); - } - - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In GisMapChart"); - } - return cloned; - } - - public String[] getMapTypes(){ - return TYPE_NAMES; - } - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/MapArrayPane.java b/designer_chart/src/com/fr/design/mainframe/MapArrayPane.java deleted file mode 100644 index 3dd189d30..000000000 --- a/designer_chart/src/com/fr/design/mainframe/MapArrayPane.java +++ /dev/null @@ -1,339 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.chart.base.MapSvgAttr; -import com.fr.chart.base.MapSvgXMLHelper; -import com.fr.design.DesignerEnvManager; -import com.fr.design.beans.BasicBeanPane; -import com.fr.design.gui.controlpane.*; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.gui.ilist.JNameEdList; -import com.fr.design.gui.ilist.ListModelElement; -import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; -import com.fr.general.Inter; -import com.fr.stable.CoreConstants; -import com.fr.stable.Nameable; -import com.fr.stable.StringUtils; -import com.fr.stable.core.PropertyChangeAdapter; - -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/3 - * Time: 上午10:00 - */ -public class MapArrayPane extends JListControlPane { - private static final int LEFT_WIDTH = 180; - private static final Color LINE_COLOR = new Color(176, 176, 176); - private static final int TOP_GAP = 5; - - private static final String[] TYPE_NAMES = new String[]{ - Inter.getLocText("FR-Chart-World_Map"), - Inter.getLocText("FR-Chart-State_Map"), - Inter.getLocText("FR-Chart-Province_Map"), - Inter.getLocText("FR-Chart-Custom_Map")}; - - private String mapType; - private String mapDetailName; - - MapPlotPane4ToolBar toolBar; - UIComboBox mapTypeBox; - private ArrayList editedNames = new ArrayList(); - - private ItemListener typeListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - MapArrayPane.this.updateBeans(); - mapType = mapTypeBox.getSelectedItem().toString(); - MapArrayPane.this.populate(MapSvgXMLHelper.getInstance().getAllMapObjects4Cate(mapType)); - } - }; - - - private ArrayList removeNames = new ArrayList(); - private MapEditPane mapEditPane; - private ChartDesigner chartDesigner; - - public MapArrayPane(String mapType, String mapDetailName,ChartDesigner chartDesigner) { - this.mapDetailName = mapDetailName; - this.mapType = mapType; - if (mapTypeBox != null) { - mapTypeBox.setSelectedItem(mapType); - } - this.chartDesigner = chartDesigner; - mapTypeBox.addItemListener(typeListener); - this.setBorder(new EmptyBorder(TOP_GAP, 0, 0, 0)); - this.addEditingListner(new PropertyChangeAdapter() { - public void propertyChange() { - dealPropertyChange(); - } - }); - } - - public void setToolBarPane(MapPlotPane4ToolBar pane) { - this.toolBar = pane; - } - - protected void doWhenPopulate(BasicBeanPane beanPane) { - mapEditPane = (MapEditPane)beanPane; - mapEditPane.dealWidthMap(mapType); - String editingName = ((MapEditPane)beanPane).getCurrentMapName(); - if(!editedNames.contains(editingName)){ - editedNames.add(editingName); - } - } - - protected JPanel getLeftPane() { - JPanel centerPane = super.getLeftPane(); - mapTypeBox = new UIComboBox(TYPE_NAMES); - JPanel leftPane = new JPanel(); - leftPane.setLayout(new BorderLayout()); - leftPane.setBorder(new EmptyBorder(3, 0, 0, 0)); - leftPane.add(mapTypeBox, BorderLayout.NORTH); - leftPane.add(centerPane, BorderLayout.CENTER); - return leftPane; - } - - - private void dealPropertyChange() { - MapSvgXMLHelper helper = MapSvgXMLHelper.getInstance(); - java.util.List nameList =helper.getNamesListWithCateName(mapType); - String[] allListNames = nameableList.getAllNames(); - allListNames[nameableList.getSelectedIndex()] = StringUtils.EMPTY; - String tempName = getEditingName(); - if (StringUtils.isEmpty(tempName)) { - String[] warning = new String[]{"NOT_NULL_Des", "Please_Rename"}; - String[] sign = new String[]{",", "!"}; - nameableList.stopEditing(); - JOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(MapArrayPane.this), Inter.getLocText(warning, sign)); - setWarnigText(editingIndex); - return; - } - if (!ComparatorUtils.equals(tempName, selectedName) - && isNameRepeted(new List[]{nameList, Arrays.asList(allListNames)}, tempName)) { - nameableList.stopEditing(); - JOptionPane.showMessageDialog(SwingUtilities.getWindowAncestor(MapArrayPane.this), - Inter.getLocText(new String[]{"FR-Chart-Map_NameAlreadyExist", "Please_Rename"}, new String[]{",", "!"})); - setWarnigText(editingIndex); - return; - } - String oldname = mapEditPane.getCurrentMapName(); - mapEditPane.setCurrentMapName(tempName); - mapEditPane.dealWidthMap(mapType); - if(editedNames.contains(oldname)){ - editedNames.remove(oldname); - editedNames.add(tempName); - } - if(helper.getNewMapAttr(oldname) != null){ - MapSvgAttr attr = helper.getNewMapAttr(oldname); - attr.renameMap(tempName); - helper.removeNewMapAttr(oldname); - helper.addNewSvgMaps(tempName,attr); - } - this.toolBar.fireTargetModified(); - this.saveMapInfo(tempName); - } - - protected void doAfterRemove(){ - for(String map2Remove : removeNames){ - MapSvgXMLHelper.getInstance().removeMapAttr(map2Remove); - MapSvgXMLHelper.getInstance().removeNewMapAttr(map2Remove); - } - update4AllType(); - } - - protected void doBeforeRemove(){ - removeNames.clear(); - for(int index : nameableList.getSelectedIndices()){ - removeNames.add(nameableList.getNameAt(index)); - } - } - - //保存修改过的地图信息 - private void saveMapInfo(final String mapName) { - SwingWorker worker = new SwingWorker() { - @Override - protected Integer doInBackground() throws Exception { - MapSvgAttr attr = MapSvgXMLHelper.getInstance().getMapAttr(mapName);// 只有在编辑地图时才需要储存相关数据 @kuns - if (attr != null) { - attr.writeBack(mapName); - } - return 0; - } - - @Override - protected void done() { - FRLogger.getLogger().info(Inter.getLocText("FR-Chart-Map_Saved")); // 地图已经保存. - } - - }; - worker.execute(); - DesignerEnvManager.addWorkers(worker); - } - - private void update4AllType() { - MapSvgXMLHelper helper = MapSvgXMLHelper.getInstance(); - helper.clearNames4Cate(mapType); - for(String name : nameableList.getAllNames()){ - MapSvgAttr attr = helper.getMapAttr(name); - if(attr == null){ - continue; - } - helper.addCateNames(attr.getMapType(),attr.getName()); - } - } - - - /** - * 创建菜单 - * - * @return 菜单 - */ - public NameableCreator[] createNameableCreators() { - return new NameableCreator[]{ - new NameableSelfCreator(Inter.getLocText("FR-Chart-Custom_Map"), MapSvgAttr.class, MapEditPane.class) { - public MapSvgAttr createNameable(UnrepeatedNameHelper helper) { - MapSvgAttr attr = new MapSvgAttr(); - attr.setFilePath(MapSvgXMLHelper.customMapPath() + CoreConstants.SEPARATOR + helper.createUnrepeatedName(Inter.getLocText("FR-Chart-Custom_Map")) + ".svg"); - MapSvgXMLHelper.getInstance().addNewSvgMaps(attr.getName(), attr); - update4Edited(attr.getName()); - // 返回参数设置面板. - return attr; - } - - @Override - public String createTooltip() { - return null; - } - - public void saveUpdatedBean(ListModelElement wrapper, Object bean) { - wrapper.wrapper = (Nameable)bean; - } - } - }; - } - - protected boolean isCreatorNeedIocn() { - return false; - } - - protected ShortCut4JControlPane[] createShortcuts() { - return new ShortCut4JControlPane[]{ - addItemShortCut(), - removeItemShortCut(), - }; - } - - protected int getLeftPreferredSize() { - return LEFT_WIDTH; - } - - - @Override - protected String title4PopupWindow() { - return Inter.getLocText(new String[]{"FR-Chart-Map_Map", "FR-Chart-Data_Edit"}); - } - - /** - * 更新 - */ - public void updateBeans() { - super.update(); - this.update4AllType(); - this.updateAllEditedAttrMaps(); - MapSvgXMLHelper.getInstance().clearTempAttrMaps(); - //versionID递增 - this.toolBar.fireTargetModified(); - this.saveMapInfo(selectedName); - } - - /** - * 创建list - * @return 返回list - */ - public JNameEdList createJNameList() { - JNameEdList nameEdList = new JNameEdList(new DefaultListModel()) { - - public Rectangle createRect(Rectangle rect, int iconWidth) { - return rect; - } - - protected void doAfterLostFocus() { - MapArrayPane.this.updateControlUpdatePane(); - } - - public void setNameAt(String name, int index) { - super.setNameAt(name,index); - update4Edited(name); - } - - }; - nameEdList.setCellRenderer(new NameableListCellRenderer()); - return nameEdList; - } - - - protected void update4Edited(String editingName){ - - } - - private void updateAllEditedAttrMaps(){ - MapSvgXMLHelper helper = MapSvgXMLHelper.getInstance(); - for(String editedName : editedNames){ - if(helper.getMapAttr(editedName)!=null){ - helper.getMapAttr(editedName).writeBack(editedName); - }else if(helper.getNewMapAttr(editedName)!=null){ - helper.getNewMapAttr(editedName).writeBack(editedName); - } - } - } - - //根据地图的名字返回地图的图片 - private Image getMapImage(String mapName) { - if (MapSvgXMLHelper.getInstance().containsMapName(mapName)) { - MapSvgAttr mapAttr = MapSvgXMLHelper.getInstance().getMapAttr(mapName); - if (mapAttr == null) { - return null; - } - return mapAttr.getMapImage(); - } - - return null; - } - - /* - * Nameable的ListCellRenerer - */ - private class NameableListCellRenderer extends - DefaultListCellRenderer { - public Component getListCellRendererComponent(JList list, Object value, - int index, boolean isSelected, boolean cellHasFocus) { - super.getListCellRendererComponent(list, value, index, isSelected, - cellHasFocus); - - if (value instanceof ListModelElement) { - Nameable wrappee = ((ListModelElement) value).wrapper; - this.setText(((ListModelElement) value).wrapper.getName()); - - for (NameableCreator creator : MapArrayPane.this.creators()) { - if (creator.menuIcon() != null && creator.acceptObject2Populate(wrappee) != null) { - this.setIcon(creator.menuIcon()); - this.setToolTipText(creator.createTooltip()); - break; - } - } - } - return this; - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/MapPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/MapPlotPane4ToolBar.java deleted file mode 100644 index 62a149647..000000000 --- a/designer_chart/src/com/fr/design/mainframe/MapPlotPane4ToolBar.java +++ /dev/null @@ -1,210 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.chart.base.MapSvgXMLHelper; -import com.fr.chart.chartattr.*; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.icombobox.UIComboBox; -import com.fr.design.mainframe.chart.ChartDesignEditPane; -import com.fr.general.ComparatorUtils; -import com.fr.general.Inter; -import com.fr.stable.StringUtils; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * Date: 14/12/1 - * Time: 上午11:57 - */ -public class MapPlotPane4ToolBar extends AbstractMapPlotPane4ToolBar{ - - private static final int WORLD_MAP = 0; - private static final int STATE_MAP = 1; - private static final int PROVINCE_MAP = 2; - private static final int CUSTOM_MAP = 3; - private static final int BUTTON_WIDTH = 44; - - - private static final String[] TYPE_NAMES = new String[]{ - Inter.getLocText("FR-Chart-World_Map"), - Inter.getLocText("FR-Chart-State_Map"), - Inter.getLocText("FR-Chart-Province_Map"), - Inter.getLocText("FR-Chart-Custom_Map")}; - - private String lastEditingName =StringUtils.EMPTY; - - private UIButton mapEditButton = new UIButton(Inter.getLocText("FR-Chart-Data_Edit")){ - public Dimension getPreferredSize() { - return new Dimension(BUTTON_WIDTH, COM_HEIGHT); - } - }; - - protected UIComboBox detailMaps = new UIComboBox(){ - public Dimension getPreferredSize() { - return new Dimension(COMBOX_WIDTH, COM_HEIGHT); - } - }; - - private ItemListener detailListener = new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - fireMapChange(); - } - }; - - private ActionListener mapEditListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - String selectedName =StringUtils.EMPTY; - if(detailMaps.getSelectedItem() != null){ - selectedName = detailMaps.getSelectedItem().toString(); - } - final MapArrayPane mapArrayPane = new MapArrayPane(mapTypeComboBox.getSelectedItem().toString(),selectedName,chartDesigner){ - public void updateBeans() { - super.updateBeans(); - if(reCalculateDetailsMaps(mapTypeComboBox.getSelectedItem().toString(),lastEditingName) || - ComparatorUtils.equals(StringUtils.EMPTY,lastEditingName)){ - detailMaps.setSelectedItem(lastEditingName); - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - com.fr.chart.chartattr.Chart chart =chartCollection.getSelectedChart(); - if(chart.getPlot().isMapPlot()){ - MapPlot mapPlot = (MapPlot) chart.getPlot(); - mapPlot.setMapName(lastEditingName); - } - } - } - - protected void update4Edited(String editingName){ - lastEditingName = editingName; - } - }; - - BasicDialog mapArrayDialog = mapArrayPane.showWindow4ChartMapArray(DesignerContext.getDesignerFrame(), - new DialogActionAdapter() { - - @Override - public void doOk() { - mapArrayPane.updateBeans(); - } - }); - mapArrayDialog.setModal(true); - mapArrayPane.setToolBarPane(MapPlotPane4ToolBar.this); - mapArrayPane.populate(MapSvgXMLHelper.getInstance().getAllMapObjects4Cate(mapTypeComboBox.getSelectedItem().toString())); - if(detailMaps.getSelectedItem() != null){ - mapArrayPane.setSelectedName(detailMaps.getSelectedItem().toString()); - } - mapArrayDialog.setVisible(true); - } - }; - - public MapPlotPane4ToolBar(ChartDesigner chartDesigner){ - super(chartDesigner); - this.add(detailMaps); - detailMaps.addItemListener(detailListener); - mapEditButton.addActionListener(mapEditListener); - this.add(mapEditButton); - } - - /** - * 更新地图面板 - * @param mapType 地图名字 - */ - public void populateMapPane(String mapType){ - super.populateMapPane(mapType); - populateDetilMaps(mapTypeComboBox.getSelectedItem().toString()); - detailMaps.removeItemListener(detailListener); - detailMaps.setSelectedItem(mapType); - detailMaps.addItemListener(detailListener); - } - - /** - * 触发地图改变 - */ - public void fireMapChange(){ - MapPlot plot = new MapPlot(); - String selectedName = StringUtils.EMPTY; - if(detailMaps.getSelectedItem() !=null ){ - selectedName = detailMaps.getSelectedItem().toString(); - } - plot.setMapName(selectedName);// 名字问题 - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - chart.setPlot(plot); - ChartDesignEditPane.getInstance().populate(chartCollection); - chartDesigner.fireTargetModified(); - } - - - - //默认选中国家地图 - protected void calculateDetailMaps(int mapType){ - switch (mapType) { - case WORLD_MAP: - populateDetilMaps(Inter.getLocText("FR-Chart-World_Map")); - break; - case STATE_MAP: - populateDetilMaps(Inter.getLocText("FR-Chart-State_Map")); - break; - case PROVINCE_MAP: - populateDetilMaps(Inter.getLocText("FR-Chart-Province_Map")); - break; - case CUSTOM_MAP: - populateDetilMaps(Inter.getLocText("FR-Chart-Custom_Map")); - break; - default: - populateDetilMaps(Inter.getLocText("FR-Chart-State_Map")); - } - fireMapChange(); - } - - private boolean reCalculateDetailsMaps(String mapType ,String detailMap){ - detailMaps.removeItemListener(detailListener); - detailMaps.removeAllItems(); - java.util.List list = MapSvgXMLHelper.getInstance().getNamesListWithCateName(mapType); - boolean isContains = false; - for (Object name : list) { - detailMaps.addItem(name); - if(ComparatorUtils.equals(detailMap,name)){ - isContains = true; - } - } - detailMaps.addItemListener(detailListener); - return isContains; - } - - - protected void populateDetilMaps(String mapType){ - detailMaps.removeItemListener(detailListener); - detailMaps.removeAllItems(); - java.util.List list = MapSvgXMLHelper.getInstance().getNamesListWithCateName(mapType); - for (Object name : list) { - detailMaps.addItem(name); - } - detailMaps.addItemListener(detailListener); - if(detailMaps.getSelectedItem() != null){ - lastEditingName = detailMaps.getSelectedItem().toString(); - } - } - - protected Plot getSelectedClonedPlot() { - MapPlot mapPlot = new MapPlot(); - populateDetilMaps(Inter.getLocText("FR-Chart-State_Map")); - if(detailMaps.getSelectedItem()!= null && !StringUtils.isEmpty(detailMaps.getSelectedItem().toString())){ - mapPlot.setMapName(detailMaps.getSelectedItem().toString()); - } - return mapPlot; - } - - public String[] getMapTypes(){ - return TYPE_NAMES; - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/PlotToolBarFactory.java b/designer_chart/src/com/fr/design/mainframe/PlotToolBarFactory.java deleted file mode 100644 index 1bb67547d..000000000 --- a/designer_chart/src/com/fr/design/mainframe/PlotToolBarFactory.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.chart.base.ChartTypeValueCollection; -import com.fr.design.mainframe.chart.gui.type.*; -import com.fr.general.FRLogger; - -import java.lang.reflect.Constructor; -import java.util.HashMap; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * 图表设计器工具栏面板的工厂类 - */ -public class PlotToolBarFactory { - private static HashMap> panes4NormalPlot = - new HashMap>(); - - private static HashMap> panes4MapPlot = - new HashMap>(); - - static { - panes4NormalPlot.put(ChartTypeValueCollection.COLUMN, ColumnPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.LINE, LinePlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.BAR, BarPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.PIE, PiePlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.AREA,AreaPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.XYSCATTER,XYSCatterPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.BUBBLE,BubblePlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.RADAR,RadarPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.STOCK,StockPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.METER,MeterPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.RANGE,RangePlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.COMB,CustomPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.GANTT,GanttPlotPane4ToolBar.class); - panes4NormalPlot.put(ChartTypeValueCollection.DONUT,DonutPlotPane4ToolBar.class); - - panes4MapPlot.put(ChartTypeValueCollection.MAP,MapPlotPane4ToolBar.class); - panes4MapPlot.put(ChartTypeValueCollection.GIS,GisMapPlotPane4ToolBar.class); - } - - private PlotToolBarFactory(){ - - } - - /** - * 为了地图和gis以外的图表类型创建工具栏 - * @param type 图表类型 - * @param chartDesigner 图表设计器 - * @return 工具栏 - */ - public static PlotPane4ToolBar createToolBar4NormalPlot(ChartTypeValueCollection type,ChartDesigner chartDesigner){ - if(!panes4NormalPlot.containsKey(type)){ - return new ColumnPlotPane4ToolBar(chartDesigner); - } - try { - Class cls = panes4NormalPlot.get(type); - Constructor constructor = cls.getConstructor(ChartDesigner.class); - return constructor.newInstance(chartDesigner); - }catch (Exception e){ - FRLogger.getLogger().error(e.getMessage()); - return new ColumnPlotPane4ToolBar(chartDesigner); - } - } - - /** - *为地图和gis创建工具栏 - * @param type 类型 - * @param chartDesigner 图表设计器 - * @return 工具栏 - */ - public static AbstractMapPlotPane4ToolBar createToolBar4MapPlot(ChartTypeValueCollection type,ChartDesigner chartDesigner){ - if(!panes4MapPlot.containsKey(type)){ - return new MapPlotPane4ToolBar(chartDesigner); - } - try { - Class cls = panes4MapPlot.get(type); - Constructor constructor = cls.getConstructor(ChartDesigner.class); - return constructor.newInstance(chartDesigner); - }catch (Exception e){ - FRLogger.getLogger().error(e.getMessage()); - return new MapPlotPane4ToolBar(chartDesigner); - } - } - - - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/ToolTip4Chart.java b/designer_chart/src/com/fr/design/mainframe/ToolTip4Chart.java deleted file mode 100644 index 83761022a..000000000 --- a/designer_chart/src/com/fr/design/mainframe/ToolTip4Chart.java +++ /dev/null @@ -1,91 +0,0 @@ -package com.fr.design.mainframe; - -import com.fr.base.GraphHelper; -import com.fr.base.background.ColorBackground; -import com.fr.stable.CoreConstants; - -import javax.swing.*; -import java.awt.*; -import java.awt.geom.Dimension2D; -import java.awt.geom.RoundRectangle2D; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-25 - * Time: 下午4:11 - */ -public class ToolTip4Chart extends JWindow { - private static ToolTip4Chart instance = new ToolTip4Chart(); - private static final int HGAP = 5; - private static final int VGAP = 3; - private static final int FONT_SIZE = 12; - private ToolTipStringPane stringPane; - private Font font = new Font("Dialog", Font.PLAIN, FONT_SIZE); - - public ToolTip4Chart() { - stringPane = new ToolTipStringPane(); - this.getContentPane().add(stringPane); - } - - public static ToolTip4Chart getInstance() { - if (instance == null) { - instance = new ToolTip4Chart(); - } - return instance; - } - - /** - * 现实提示信息 - * - * @param toolTip 提示信息 - * @param xAbs 绝对位置x - * @param yAbs 绝对位置Y - */ - public void showToolTip(String toolTip, int xAbs, int yAbs) { - stringPane.text = toolTip.trim(); - Dimension2D dim = GraphHelper.stringDimensionWithRotation(toolTip, font, 0, CoreConstants.DEFAULT_FRC); - this.setSize(new Dimension((int) dim.getWidth() + HGAP * 2, (int) dim.getHeight() + VGAP * 2)); - stringPane.setPreferredSize(new Dimension((int) dim.getWidth(), (int) dim.getHeight())); - if (!this.isVisible()) { - this.setVisible(true); - if (xAbs + this.getWidth() > Toolkit.getDefaultToolkit().getScreenSize().width) { - xAbs -= this.getWidth(); - } - this.setLocation(xAbs, yAbs+HGAP*2); - } - } - - /** - * 隐藏弹出框 - */ - public void hideToolTip() { - this.setVisible(false); - } - - - private class ToolTipStringPane extends JPanel { - String text; - - public ToolTipStringPane() { - - } - - @Override - public void paintComponent(Graphics g) { - super.paintComponent(g); - if (!isOpaque()) { - return; - } - g.setFont(font); - Rectangle r = new Rectangle(0, 0, this.getWidth(), this.getHeight()); - ColorBackground background = ColorBackground.getInstance(Color.white); - background.paint(g, new RoundRectangle2D.Double(r.getX(), r.getY(), r.getWidth(), r.getHeight(), HGAP, HGAP)); - Graphics2D g2d = (Graphics2D) g; - g2d.drawString(text, HGAP, this.getHeight() - HGAP); - } - - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/ChartDownLoadWorker.java b/designer_chart/src/com/fr/design/mainframe/actions/ChartDownLoadWorker.java deleted file mode 100644 index ddcf70aa7..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/ChartDownLoadWorker.java +++ /dev/null @@ -1,170 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.design.file.HistoryTemplateListPane; -import com.fr.design.file.SaveSomeTemplatePane; -import com.fr.design.mainframe.DesignerContext; -import com.fr.general.ComparatorUtils; -import com.fr.general.FRLogger; -import com.fr.json.JSONObject; -import com.fr.stable.StableUtils; -import com.fr.stable.StringUtils; - -import javax.swing.*; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.net.URL; -import java.net.URLConnection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Set; -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class ChartDownLoadWorker extends SwingWorker{ - private static final String FILE_PATH = "http://chart.finedevelop.com/update/"; - private static final String VERSION = "version"; - private static final String TEMP = "_temp"; - private static final int BYTE = 153600; - private static final int FILE_BYTE = 1024; - private HashMap files = new HashMap(); - - public ChartDownLoadWorker() { - } - - private void loadFilesPaths() throws Exception { - files.clear(); - final String installHome = StableUtils.getInstallHome(); - - JSONObject serverVersion = UpdateVersion.getJsonContent(); - if(serverVersion == null){ - return; - } - Iterator keys = serverVersion.keys(); - while (keys.hasNext()){ - String jarName = keys.next(); - if(!ComparatorUtils.equals(jarName, VERSION)){ - String filePath = (String) serverVersion.get(jarName); - String path =installHome + filePath.substring(2); - files.put(jarName,path); - } - } - files.isEmpty(); - } - - @Override - protected Void doInBackground() throws Exception { - try { - loadFilesPaths(); - Set key = files.keySet(); - Iterator iterator = key.iterator(); - int totalSize = 0; - //先得到所有的长度,方便计算百分比 - while (iterator.hasNext()) { - String jarName = (String) iterator.next(); - String jarUrl = FILE_PATH + jarName; - URL url = new URL(jarUrl); - URLConnection connection = url.openConnection(); - totalSize += connection.getContentLength(); - } - - int totalBytesRead = 0; - iterator = key.iterator(); - while (iterator.hasNext()) { - String jarName = (String) iterator.next(); - String jarUrl = FILE_PATH + jarName; - URL url = new URL(jarUrl); - InputStream reader = url.openStream(); - String filePath = files.get(jarName); - int point = filePath.lastIndexOf("."); - //先写临时文件,防止更新一半意外中止 - String tmpFilePath = filePath.substring(0,point)+TEMP+filePath.substring(point); - FileOutputStream writer = new FileOutputStream(tmpFilePath); - byte[] buffer = new byte[BYTE]; - int bytesRead = 0; - while ((bytesRead = reader.read(buffer)) > 0) { - writer.write(buffer, 0, bytesRead); - buffer = new byte[BYTE]; - totalBytesRead += bytesRead; - publish(totalBytesRead/(double)totalSize); - } - } - - - } catch (Exception e) { - throw new Exception("Update Failed !" + e.getMessage()); - } - - return null; - } - - //替换更新下来的临时文件 - protected void replaceFiles(){ - try { - Set key = files.keySet(); - Iterator iterator = key.iterator(); - while (iterator.hasNext()) { - String jarName = (String) iterator.next(); - String filePath = files.get(jarName); - int point = filePath.lastIndexOf("."); - //先写临时文件,防止更新一半意外中止 - String tmpFilePath = filePath.substring(0,point)+TEMP+filePath.substring(point); - FileInputStream inputStream = new FileInputStream(tmpFilePath); - FileOutputStream writer = new FileOutputStream(filePath); - byte[] buffer = new byte[FILE_BYTE]; - int bytesRead = 0; - while ((bytesRead = inputStream.read(buffer))>0){ - writer.write(buffer,0,bytesRead); - buffer = new byte[FILE_BYTE]; - } - writer.flush(); - writer.close(); - inputStream.close(); - } - } catch (Exception e) { - FRLogger.getLogger().error(e.getMessage()); - } - } - - /** - * 完成时的动作 - */ - public void done() { - //检测是否没有保存的模版 - SaveSomeTemplatePane saveSomeTempaltePane = new SaveSomeTemplatePane(true); - // 只有一个文件未保存时 - if (HistoryTemplateListPane.getInstance().getHistoryCount() == 1) { - int choose = saveSomeTempaltePane.saveLastOneTemplate(); - if (choose != JOptionPane.CANCEL_OPTION) { - restartChartDesigner(); - } - } else { - if (saveSomeTempaltePane.showSavePane()) { - restartChartDesigner(); - } - } - } - - private void restartChartDesigner(){ - String installHome = StableUtils.getInstallHome(); - if(StringUtils.isEmpty(installHome) || ComparatorUtils.equals(".",installHome)){ - DesignerContext.getDesignerFrame().exit(); - return; - } - - try { - String path = installHome + File.separator + "bin" + File.separator + "restart.bat"; - ProcessBuilder builder = new ProcessBuilder(path,installHome); - builder.start(); - DesignerContext.getDesignerFrame().exit(); - }catch (Exception e){ - FRLogger.getLogger().error(e.getMessage()); - } - } - - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/ChartFeedBackAciton.java b/designer_chart/src/com/fr/design/mainframe/actions/ChartFeedBackAciton.java deleted file mode 100644 index 782d1a400..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/ChartFeedBackAciton.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.design.actions.help.FeedBackAction; -import com.fr.design.actions.help.FeedBackPane; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.TableLayout; -import com.fr.design.layout.TableLayoutHelper; -import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.DesignerFrame; -import com.fr.general.Inter; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class ChartFeedBackAciton extends FeedBackAction{ - - /** - * 动作 - * @param e 事件 - */ - public void actionPerformed(ActionEvent e) { - final DesignerFrame designerFrame = DesignerContext.getDesignerFrame(); - ChartFeedBackPane feedBackPane = new ChartFeedBackPane(); - BasicDialog basicDialog =feedBackPane.showWindow(designerFrame,false); - feedBackPane.setFeedbackDialog(basicDialog); - basicDialog.setVisible(true); - } - - private class ChartFeedBackPane extends FeedBackPane{ - protected JPanel getContactPane() { - double f = TableLayout.FILL; - double p = TableLayout.PREFERRED; - Component[][] components = new Component[][]{ - new Component[]{new UILabel(Inter.getLocText("email") + ":", SwingConstants.RIGHT), email}, - new Component[]{new UILabel(Inter.getLocText("mobile_number") + ":", SwingConstants.RIGHT), phone} - }; - double[] rowSize = {p, p, p}; - double[] columnSize = {p, p}; - int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}}; - return TableLayoutHelper.createGapTableLayoutPane(components, rowSize, columnSize, rowCount, LayoutConstants.VGAP_MEDIUM, LayoutConstants.VGAP_MEDIUM); - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/ChartUpdateAction.java b/designer_chart/src/com/fr/design/mainframe/actions/ChartUpdateAction.java deleted file mode 100644 index 05cb46b14..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/ChartUpdateAction.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.design.actions.UpdateAction; - -import java.awt.event.ActionEvent; - -/** - * @author : richie - * @since : 8.0 - */ -public class ChartUpdateAction extends UpdateAction { - - private static final String DOWNLOAD_DESIGNER=""; - private static final String DOWNLOAD_CHART=""; - private static final String DOWNLOAD_THIRD=""; - - public ChartUpdateAction() { - - } - - @Override - public void actionPerformed(ActionEvent e) { - - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/ChartWebAction.java b/designer_chart/src/com/fr/design/mainframe/actions/ChartWebAction.java deleted file mode 100644 index 341e9a0eb..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/ChartWebAction.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.base.BaseUtils; -import com.fr.design.actions.UpdateAction; -import com.fr.design.menu.MenuKeySet; -import com.fr.general.Inter; -import com.fr.start.StartServer; - -import javax.swing.*; -import java.awt.event.ActionEvent; - -/** - * 图表设计器得产品演示 - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-27 - * Time: 下午9:01 - */ -public class ChartWebAction extends UpdateAction { - public ChartWebAction() { - this.setMenuKeySet(getSelfMenuKeySet()); - this.setName(getMenuKeySet().getMenuName()); - this.setMnemonic(getMenuKeySet().getMnemonic()); - this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_help/demo.png")); - } - - private MenuKeySet getSelfMenuKeySet(){ - return new MenuKeySet() { - @Override - public char getMnemonic() { - return 'D'; - } - - @Override - public String getMenuName() { - return Inter.getLocText("FR-Chart-Product_Demo"); - } - - @Override - public KeyStroke getKeyStroke() { - return null; - } - }; - } - - - /** - * 动作 - * @param e 事件 - */ - public void actionPerformed(ActionEvent e) { - StartServer.browserURLWithLocalEnv("http://www.vancharts.com/demo.html"); - return; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/OpenChartAction.java b/designer_chart/src/com/fr/design/mainframe/actions/OpenChartAction.java deleted file mode 100644 index 82b95c736..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/OpenChartAction.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.design.actions.file.OpenTemplateAction; -import com.fr.design.mainframe.DesignerContext; -import com.fr.file.FILE; -import com.fr.file.FILEChooserPane; -import com.fr.file.FILEChooserPane4Chart; - -import java.awt.event.ActionEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-20 - * Time: 下午7:35 - */ -public class OpenChartAction extends OpenTemplateAction { - /** - * 动作 - * @param evt 事件 - */ - public void actionPerformed(ActionEvent evt) { - FILEChooserPane fileChooser = FILEChooserPane4Chart.getInstance(true, true); - - if (fileChooser.showOpenDialog(DesignerContext.getDesignerFrame(),".crt") - == FILEChooserPane.OK_OPTION) { - final FILE file = fileChooser.getSelectedFILE(); - if (file == null) {//选择的文件不能是 null - return; - } - DesignerContext.getDesignerFrame().openTemplate(file); - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/UpdateOnlineAction.java b/designer_chart/src/com/fr/design/mainframe/actions/UpdateOnlineAction.java deleted file mode 100644 index 42419128e..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/UpdateOnlineAction.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.design.ChartEnvManager; -import com.fr.design.actions.UpdateAction; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.mainframe.DesignerContext; -import com.fr.design.mainframe.chart.UpdateOnLinePane; -import com.fr.design.menu.MenuKeySet; -import com.fr.general.FRLogger; -import com.fr.general.Inter; -import com.fr.json.JSONObject; -import com.fr.stable.ProductConstants; -import com.fr.stable.StringUtils; - -import javax.swing.*; -import java.awt.event.ActionEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * 图表设计器在线更新 - */ -public class UpdateOnlineAction extends UpdateAction { - - public UpdateOnlineAction() { - this.setMenuKeySet(getKeySet()); - this.setName(getMenuKeySet().getMenuKeySetName() + "..."); - this.setMnemonic(getMenuKeySet().getMnemonic()); - } - - private MenuKeySet getKeySet() { - return new MenuKeySet() { - @Override - public char getMnemonic() { - return 'U'; - } - - @Override - public String getMenuName() { - return Inter.getLocText("FR-Chart-Help_UpdateOnline"); - } - - @Override - public KeyStroke getKeyStroke() { - return null; - } - }; - } - - - /** - *动作 - * @param e 事件 - */ - public void actionPerformed(ActionEvent e) { - new UpdateVersion(){ - protected void done() { - try { - ChartEnvManager.getEnvManager().resetCheckDate(); - JSONObject serverVersion = get(); - String version = serverVersion.getString(UpdateVersion.VERSION); - UpdateOnLinePane updateOnLinePane = new UpdateOnLinePane(StringUtils.isEmpty(version)? ProductConstants.RELEASE_VERSION:version); - BasicDialog dg = updateOnLinePane.showWindow4UpdateOnline(DesignerContext.getDesignerFrame()); - updateOnLinePane.setParentDialog(dg); - dg.setVisible(true); - }catch (Exception e){ - FRLogger.getLogger().error(e.getMessage()); - } - } - }.execute(); - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/actions/UpdateVersion.java b/designer_chart/src/com/fr/design/mainframe/actions/UpdateVersion.java deleted file mode 100644 index 0d5088ee7..000000000 --- a/designer_chart/src/com/fr/design/mainframe/actions/UpdateVersion.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.mainframe.actions; - -import com.fr.general.FRLogger; -import com.fr.json.JSONObject; - -import javax.swing.*; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.HttpURLConnection; -import java.net.URL; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - */ -public class UpdateVersion extends SwingWorker { - - private static final String VERSION_URL ="http://chart.finedevelop.com/update/update.json"; - private static final int TIME_OUT = 300;//5s - public static final String VERSION = "version"; - - public UpdateVersion(){ - - } - - - @Override - protected JSONObject doInBackground() throws Exception { - return getJsonContent(); - } - - public static JSONObject getJsonContent() throws Exception{ - String res = null; - try { - res = readVersionFromServer(TIME_OUT); - } catch (IOException e) { - FRLogger.getLogger().error(e.getMessage()); - } - return new JSONObject(res); - } - - /** - * 从服务器读取版本 - */ - private static String readVersionFromServer(int timeOut) throws IOException { - URL getUrl = new URL(VERSION_URL); - // 根据拼凑的URL,打开连接,URL.openConnection函数会根据URL的类型, - // 返回不同的URLConnection子类的对象,这里URL是一个http,因此实际返回的是HttpURLConnection - HttpURLConnection connection = (HttpURLConnection) getUrl - .openConnection(); - connection.setReadTimeout(timeOut); - // 进行连接,但是实际上get request要在下一句的connection.getInputStream()函数中才会真正发到 - // 服务器 - connection.connect(); - // 取得输入流,并使用Reader读取 - BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf8"));//设置编码,否则中文乱码 - String lines; - StringBuffer sb = new StringBuffer(); - while ((lines = reader.readLine()) != null) { - sb.append(lines); - } - reader.close(); - // 断开连接 - connection.disconnect(); - return sb.toString(); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/ChartDesignEditPane.java b/designer_chart/src/com/fr/design/mainframe/chart/ChartDesignEditPane.java deleted file mode 100644 index c5190b9bc..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/ChartDesignEditPane.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart; - -import com.fr.design.file.HistoryTemplateListPane; -import com.fr.design.mainframe.chart.gui.*; - -import java.util.ArrayList; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-15 - * Time: 下午5:47 - */ -public class ChartDesignEditPane extends ChartEditPane { - - private static ChartDesignEditPane instance; - - private boolean isFromToolBar = false; - - public synchronized static ChartEditPane getInstance() { - if (instance == null) { - instance = new ChartDesignEditPane(); - } - return instance; - } - - public ChartDesignEditPane() { - paneList = new ArrayList(); - dataPane4SupportCell = new ChartDesignerDataPane(listener); - paneList.add(dataPane4SupportCell); - paneList.add(new StylePane4Chart(listener, false)); - paneList.add(new ChartDesignerOtherPane()); - createTabsPane(); - } - - protected void dealWithStyleChange(){ - if(!isFromToolBar){ - HistoryTemplateListPane.getInstance().getCurrentEditingTemplate().styleChange(); - } - } - - /** - *主要用于图表设计器,判断样式改变是否来自工具栏的全局样式按钮 - * @param isFromToolBar 是否来自工具栏 - */ - public void styleChange(boolean isFromToolBar){ - this.isFromToolBar = isFromToolBar; - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/UpdateOnLinePane.java b/designer_chart/src/com/fr/design/mainframe/chart/UpdateOnLinePane.java deleted file mode 100644 index c889ddc71..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/UpdateOnLinePane.java +++ /dev/null @@ -1,238 +0,0 @@ -package com.fr.design.mainframe.chart; - -import com.fr.design.ChartEnvManager; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.BasicPane; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.icheckbox.UICheckBox; -import com.fr.design.gui.ilable.UILabel; -import com.fr.design.layout.FRGUIPaneFactory; -import com.fr.design.mainframe.actions.ChartDownLoadWorker; -import com.fr.general.ComparatorUtils; -import com.fr.general.Inter; -import com.fr.stable.ProductConstants; - -import javax.swing.*; -import javax.swing.border.EmptyBorder; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.text.DecimalFormat; -import java.text.NumberFormat; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 7.1.1 - * 在线更新面板 - */ -public class UpdateOnLinePane extends BasicPane{ - private static final int GAP = 40; - private static final int H_GAP = 16; - private static final int SIDE_GAP =30; - private static final int RIGHT_BORDER_GAP = 34; - private static final Color LABEL_COLOR = new Color(114,114,114); - private static final int MESSAGE_FONT_SIZE = 20; - private static final int PUSH_FONT_SIZE = 12; - private static final int PROGRESS_WIDTH = 500; - private static final int PROGRESS_HEIGHT = 14; - private static final NumberFormat NUMBER_FORMAT = new DecimalFormat("##.##"); - private static final int PRECENT =100; - private static final Color FOREGROUNG = new Color(23,190,86); - private static final Color BACKGROUND = new Color(210,210,210); - - String serverVersion = ProductConstants.RELEASE_VERSION; - UIButton okButton = new UIButton(Inter.getLocText("FR-Chart-Dialog_OK")); - UIButton updateButton = new UIButton(Inter.getLocText("FR-Chart-App_Update")); - UIButton cancleButton = new UIButton(Inter.getLocText("FR-Chart-Dialog_Cancle")); - UICheckBox pushAuto = new UICheckBox(Inter.getLocText("FR-Chart-UpdateMessage_PushAuto")); - private JPanel messagePane; - private JPanel optionsPane; - private BasicDialog parentDialog; - private ChartDownLoadWorker downLoadWorker = null; - private boolean isUpdateCancle = false; - - private ActionListener updateListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - final JProgressBar progressBar = init4UpdatingPane(); - downLoadWorker = new ChartDownLoadWorker(){ - protected void process(java.util.List v) { - progressBar.setValue((int)(v.get(v.size() - 1) * PRECENT)); - } - - public void done() { - try { - get(); - } catch (Exception e1) { - init4UpdateFaild(); - return; - } - if(!isUpdateCancle){ - replaceFiles(); - dialogExit(); - super.done(); - } - } - }; - downLoadWorker.execute(); - } - }; - - private ActionListener okListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - dialogExit(); - } - }; - - private ActionListener cancleListener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if(downLoadWorker !=null){ - isUpdateCancle = true; - downLoadWorker.cancel(true); - } - dialogExit(); - } - }; - - public void setParentDialog(BasicDialog dialog){ - this.parentDialog = dialog; - } - - public UpdateOnLinePane(String serverVersion){ - this.serverVersion = serverVersion; - this.isUpdateCancle = false; - pushAuto.setSelected(ChartEnvManager.getEnvManager().isPushUpdateAuto()); - pushAuto.addItemListener(new ItemListener() { - @Override - public void itemStateChanged(ItemEvent e) { - ChartEnvManager.getEnvManager().setPushUpdateAuto(pushAuto.isSelected()); - } - }); - init4PanesLayout(); - initListeners(); - judge(); - } - - private void initListeners(){ - updateButton.addActionListener(updateListener); - okButton.addActionListener(okListener); - cancleButton.addActionListener(cancleListener); - } - - private void init4PanesLayout(){ - this.setLayout(new BorderLayout()); - this.messagePane = FRGUIPaneFactory.createBorderLayout_L_Pane(); - this.optionsPane = new JPanel(new FlowLayout(FlowLayout.RIGHT,H_GAP ,0)) ; - this.optionsPane.setBorder(new EmptyBorder(0, 0, GAP, RIGHT_BORDER_GAP)); - this.add(this.messagePane, BorderLayout.CENTER); - this.add(this.optionsPane, BorderLayout.SOUTH); - pushAuto.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, PUSH_FONT_SIZE)); - pushAuto.setForeground(LABEL_COLOR); - this.revalidate(); - } - - //更新失败的提示 - private void init4UpdateFaild(){ - this.messagePane.removeAll(); - UILabel label = new UILabel(Inter.getLocText("FR-Chart-Version_UpdateFail")+"!"); - label.setHorizontalAlignment(SwingConstants.CENTER); - label.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, MESSAGE_FONT_SIZE)); - label.setForeground(LABEL_COLOR); - this.messagePane.add(label,BorderLayout.CENTER); - optionsPane.removeAll(); - optionsPane.add(okButton); - this.revalidate(); - } - - private JProgressBar init4UpdatingPane(){ - this.messagePane.removeAll(); - JPanel centerPane = new JPanel(new GridLayout(2,1)); - UILabel label = new UILabel(Inter.getLocText("FR-Chart-App_UpdateProgress")); - label.setHorizontalAlignment(SwingConstants.CENTER); - label.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, MESSAGE_FONT_SIZE)); - label.setForeground(LABEL_COLOR); - label.setBorder(new EmptyBorder(PUSH_FONT_SIZE,0,0,0)); - centerPane.add(label); - JProgressBar progressBar = new JProgressBar(); - progressBar.setMaximum(PRECENT); - progressBar.setMinimum(0); - progressBar.setValue(0); - progressBar.setBorder(new EmptyBorder(MESSAGE_FONT_SIZE,SIDE_GAP,SIDE_GAP*2,SIDE_GAP)); - centerPane.add(progressBar); - messagePane.add(centerPane,BorderLayout.CENTER); - optionsPane.removeAll(); - optionsPane.add(cancleButton); - this.revalidate(); - return progressBar; - } - - private void init4VersionSamePane(){ - this.messagePane.removeAll(); - UILabel label = new UILabel(Inter.getLocText("FR-Chart-Versions_Lasted")); - label.setHorizontalAlignment(SwingConstants.CENTER); - label.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, MESSAGE_FONT_SIZE)); - label.setForeground(LABEL_COLOR); - this.messagePane.add(label,BorderLayout.CENTER); - optionsPane.removeAll(); - optionsPane.add(pushAuto); - optionsPane.add(okButton); - this.revalidate(); - } - - private void init4VersionDifferentPane(){ - this.messagePane.removeAll(); - createPaneShowVersions(); - optionsPane.removeAll(); - optionsPane.add(pushAuto); - optionsPane.add(updateButton); - optionsPane.add(cancleButton); - this.revalidate(); - } - - private void createPaneShowVersions(){ - JPanel centerPane = new JPanel(new GridLayout(2,1)); - UILabel localLabel = new UILabel(Inter.getLocText("FR-Chart-Version_Local")+":"+ ProductConstants.RELEASE_VERSION); - localLabel.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, MESSAGE_FONT_SIZE)); - localLabel.setForeground(LABEL_COLOR); - localLabel.setBorder(new EmptyBorder(PUSH_FONT_SIZE,0,0,0)); - UILabel serverLabel = new UILabel(Inter.getLocText("FR-Chart-Version_Lasted")+":"+serverVersion); - serverLabel.setFont(new Font(Inter.getLocText("FR-Designer-All_MSBold"), 0, MESSAGE_FONT_SIZE)); - serverLabel.setForeground(LABEL_COLOR); - serverLabel.setBorder(new EmptyBorder(-MESSAGE_FONT_SIZE - PUSH_FONT_SIZE, 0, 0,0)); - localLabel.setHorizontalAlignment(SwingConstants.CENTER); - serverLabel.setHorizontalAlignment(SwingConstants.CENTER); - centerPane.add(localLabel); - centerPane.add(serverLabel); - messagePane.add(centerPane,BorderLayout.CENTER); - } - - private void judge(){ - if(ComparatorUtils.equals(ProductConstants.RELEASE_VERSION,serverVersion)){ - //版本一致,提示已经是最新版本 - init4VersionSamePane(); - }else{ - init4VersionDifferentPane(); - } - } - - /** - * Dialog exit. - */ - private void dialogExit() { - parentDialog.setVisible(false); - parentDialog.dispose(); - } - - - - - protected String title4PopupWindow() { - return Inter.getLocText("FR-Chart-Help_UpdateOnline"); - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDesignerDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDesignerDataPane.java deleted file mode 100644 index f424d6981..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/ChartDesignerDataPane.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui; - -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.GisMapPlot; -import com.fr.chart.chartattr.MapPlot; -import com.fr.design.chart.report.GisMapDataPane4Chart; -import com.fr.design.chart.report.MapDataPane4Chart; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.mainframe.chart.gui.data.ImportSetChartDataPane; -import com.fr.general.FRLogger; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-15 - * Time: 下午1:57 - */ -public class ChartDesignerDataPane extends ChartDataPane { - private AttributeChangeListener listener; - - public ChartDesignerDataPane(AttributeChangeListener listener) { - super(listener); - this.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - FRLogger.getLogger().info("SD"); - } - }); - this.listener = listener; - } - - @Override - protected JPanel createContentPane() { - contentsPane = new ImportSetChartDataPane(listener,ChartDesignerDataPane.this); - return contentsPane; - } - - - protected void repeatLayout(ChartCollection collection) { - if(contentsPane != null) { - this.remove(contentsPane); - } - - this.setLayout(new BorderLayout(0, 0)); - if (collection.getSelectedChart().getPlot() instanceof MapPlot) { - contentsPane = new MapDataPane4Chart(listener,this); - }else if(collection.getSelectedChart().getPlot() instanceof GisMapPlot){ - contentsPane = new GisMapDataPane4Chart(listener,this); - } else{ - contentsPane = new ImportSetChartDataPane(listener,ChartDesignerDataPane.this); - } - } - - /** - * 主要用于图表设计器 - * @return 是 - */ - public boolean isNeedPresentPaneWhenFilterData(){ - return true; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDesignDataLoadPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDesignDataLoadPane.java deleted file mode 100644 index 43a2fae34..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ChartDesignDataLoadPane.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.base.TableData; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.data.tabledata.wrapper.TemplateTableDataWrapper; -import com.fr.design.dialog.BasicPane; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; - -/** - * 图表设计器导入 界面 - * Created by kunsnat on 14-10-21. - * kunsnat@gmail.com - */ -public abstract class ChartDesignDataLoadPane extends BasicPane { - - private AbstractChartDataPane4Chart parentPane; - - public ChartDesignDataLoadPane(AbstractChartDataPane4Chart parentPane){ - this.parentPane = parentPane; - } - - /** - * 加载数据集 - * - * @param tableData 数据集 - */ - public abstract void populateChartTableData(TableData tableData); - - /** - * 根据界面 获取数据集相关. - * - * @return 返回数据集 - */ - public abstract TableData getTableData(); - - - protected abstract String getNamePrefix(); - - //响应属性事件 - protected void fireChange() { - parentPane.fireTableDataChange(); - } - - - public TableDataWrapper getTableDataWrapper(){ - return new TemplateTableDataWrapper(getTableData()); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/EmbbeddDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/EmbbeddDataPane.java deleted file mode 100644 index a9f418907..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/EmbbeddDataPane.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.base.BaseUtils; -import com.fr.base.FRContext; -import com.fr.base.TableData; -import com.fr.design.constants.UIConstants; -import com.fr.data.impl.EmbeddedTableData; -import com.fr.design.data.tabledata.tabledatapane.EmbeddedTableDataPane; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.dialog.BasicDialog; -import com.fr.design.dialog.BasicPane; -import com.fr.design.dialog.DialogActionAdapter; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; - -import javax.swing.*; -import javax.swing.border.LineBorder; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -/** - * 图表设计器内置数据集面板 - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 上午12:09 - */ -public class EmbbeddDataPane extends ChartDesignDataLoadPane { - private UIButton edit; - private UIButton reviewButton; - private EmbeddedTableData tableData; - - public EmbbeddDataPane(AbstractChartDataPane4Chart parentPane) { - super(parentPane); - tableData = new EmbeddedTableData(); - initEditButton(); - initReviewButton(); - this.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 3)); - this.add(edit); - this.add(reviewButton); - } - - private void initEditButton() { - edit = new UIButton(BaseUtils.readIcon("com/fr/design/images/control/edit.png")); - edit.setBorder(new LineBorder(UIConstants.LINE_COLOR)); - edit.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - EmbeddedTableDataPane tableDataPane = new EmbeddedTableDataPane(); - tableDataPane.populateBean(tableData); - dgEdit(tableDataPane, getNamePrefix()); - } - }); - } - - private void initReviewButton() { - reviewButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/search.png")); - reviewButton.setBorder(new LineBorder(UIConstants.LINE_COLOR)); - reviewButton.addMouseListener(new MouseAdapter() { - @Override - public void mouseReleased(MouseEvent e) { - //预览图表设计器内置数据集 - TableDataWrapper tableDataWrappe = getTableDataWrapper(); - if (tableDataWrappe != null) { - try { - tableDataWrappe.previewData(); - } catch (Exception e1) { - FRContext.getLogger().error(e1.getMessage(), e1); - } - } - } - }); - } - - @Override - protected String title4PopupWindow() { - return null; - } - - @Override - public TableData getTableData() { - return tableData; - } - - /** - * 加载数据集 - * - * @param tableData 数据集 - */ - public void populateChartTableData(TableData tableData) { - if (tableData instanceof EmbeddedTableData) { - this.tableData =(EmbeddedTableData) tableData; - } - } - - protected String getNamePrefix() { - return "Embedded"; - } - - /** - * 编辑面板 - * - * @param uPanel 面板 - * @param originalName 原始名字 - */ - private void dgEdit(final EmbeddedTableDataPane uPanel, String originalName) { - final BasicPane.NamePane nPanel = uPanel.asNamePane(); - nPanel.setObjectName(originalName); - final BasicDialog dg; - dg = nPanel.showLargeWindow(SwingUtilities.getWindowAncestor(EmbbeddDataPane.this), new DialogActionAdapter() { - public void doOk() { - tableData = uPanel.updateBean(); - fireChange(); - } - }); - dg.setVisible(true); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ExcelDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ExcelDataPane.java deleted file mode 100644 index 7cc476e24..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ExcelDataPane.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.base.BaseUtils; -import com.fr.base.FRContext; -import com.fr.base.TableData; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.constants.UIConstants; -import com.fr.design.data.datapane.preview.PreviewTablePane; -import com.fr.data.impl.ExcelTableData; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; -import com.fr.design.mainframe.DesignerContext; -import com.fr.file.FILE; -import com.fr.file.FILEChooserPane; -import com.fr.general.Inter; - -import javax.swing.*; -import javax.swing.border.LineBorder; -import java.awt.*; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-15 - * Time: 下午11:58 - */ -public class ExcelDataPane extends ChartDesignDataLoadPane { - - private UITextField path = new UITextField(); - private UIButton reviewButton; - private ExcelTableData tableData; - private MouseListener listener = new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - FILEChooserPane fileChooserPane = new FILEChooserPane(true, true); - if (fileChooserPane.showOpenDialog(DesignerContext.getDesignerFrame(), ".xlsx") - == FILEChooserPane.OK_OPTION) { - FILE chooseFILE = fileChooserPane.getSelectedFILE(); - if (chooseFILE != null && chooseFILE.exists()) { - path.setText(chooseFILE.getPath()); - } else { - JOptionPane.showConfirmDialog(ExcelDataPane.this, Inter.getLocText("FR-Template-Path_chooseRightPath"), - Inter.getLocText("FR-App-All_Warning"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); - path.setText(""); - } - tableData.setFilePath(path.getText().toString()); - tableData.setFromEnv(chooseFILE.isEnvFile()); - tableData.setNeedColumnName(true); - fireChange(); - } - } - }; - - public ExcelDataPane(AbstractChartDataPane4Chart parentPane, JComponent pathChooseButton) { - super(parentPane); - initReviewButton(); - tableData = new ExcelTableData(); - tableData.setFilePath(path.getText().toString()); - tableData.setNeedColumnName(true); - path.setEditable(false); - pathChooseButton.addMouseListener(listener); - this.setLayout(new BorderLayout(0, 0)); - JPanel pane = new JPanel(new BorderLayout(LayoutConstants.HGAP_LARGE, 0)); - pane.add(path, BorderLayout.CENTER); - - pane.add(reviewButton, BorderLayout.EAST); - this.add(pane, BorderLayout.CENTER); - } - - @Override - protected String title4PopupWindow() { - return null; - } - - private void initReviewButton() { - reviewButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/search.png")); - reviewButton.setBorder(new LineBorder(UIConstants.LINE_COLOR)); - reviewButton.addMouseListener(new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent e) { - //预览本地excel - try { - PreviewTablePane.previewTableData(getTableData()); - } catch (Exception e1) { - FRContext.getLogger().error(e1.getMessage(), e1); - } - } - }); - } - - @Override - public TableData getTableData() { - return tableData; - } - - @Override - protected String getNamePrefix() { - return null; - } - - /** - * 加载数据集 - * - * @param tableData 数据集 - */ - public void populateChartTableData(TableData tableData) { - if (tableData instanceof ExcelTableData) { - path.setText(((ExcelTableData) tableData).getFilePath()); - this.tableData = (ExcelTableData)tableData; - this.tableData.setNeedColumnName(true); - } - fireChange(); - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ImportSetChartDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ImportSetChartDataPane.java deleted file mode 100644 index 9c531ab36..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/ImportSetChartDataPane.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.base.TableData; -import com.fr.base.chart.chartdata.TopDefinitionProvider; -import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.Plot; -import com.fr.chart.chartdata.TableDataDefinition; -import com.fr.design.gui.frpane.AttributeChangeListener; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; -import com.fr.design.mainframe.chart.gui.ChartDataPane; -import com.fr.design.mainframe.chart.gui.data.table.AbstractTableDataContentPane; -import com.fr.design.mainframe.chart.gui.data.table.CategoryPlotMoreCateTableDataContentPane; -import com.fr.design.mainframe.chart.gui.data.table.Factory4TableDataContentPane; - -import javax.swing.*; - -/** - * 数据导入数据设置面板 - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-15 - * Time: 下午2:35 - */ -public class ImportSetChartDataPane extends AbstractChartDataPane4Chart { - - private AbstractTableDataContentPane dataContentPane; - - public ImportSetChartDataPane(final AttributeChangeListener listener, ChartDataPane parent) { - super(listener,parent); - } - - - /** - * 更新界面 数据内容 - */ - public void populate(ChartCollection collection) { - dataContentPane = getContentPane(collection.getSelectedChart().getPlot()); - dataContentPane.setNeedSummaryCaculateMethod(false); - dataContentPane.redoLayoutPane(); - if (collection != null && collection.getSelectedChart() != null) { - Chart chart = collection.getSelectedChart(); - TopDefinitionProvider definition = chart.getFilterDefinition(); - if (definition instanceof TableDataDefinition) { - TableData tableData = ((TableDataDefinition) definition).getTableData(); - if(tableData != null){ - populateChoosePane(tableData); - fireTableDataChange(); - } - if (dataContentPane != null) { - dataContentPane.populateBean(collection); - } - } - } - this.remove(leftContentPane); - this.initContentPane(); - this.validate(); - dataSource.addItemListener(dsListener); - initAllListeners(); - initSelfListener(dataContentPane); - this.addAttributeChangeListener(attributeChangeListener); - } - - protected JPanel getDataContentPane(){ - return dataContentPane; - } - - - @Override - public void update(ChartCollection collection) { - if (collection != null && collection.getSelectedChart() != null) { - if (dataContentPane != null) { - dataContentPane.updateBean(collection); - } - TableDataDefinition topDefinition =(TableDataDefinition)collection.getSelectedChart().getFilterDefinition(); - if(topDefinition !=null){ - topDefinition.setTableData(choosePane.getTableData()); - } - } - } - - private AbstractTableDataContentPane getContentPane(Plot plot) { - if (plot == null || plot.isSupportMoreCate()) { - return new CategoryPlotMoreCateTableDataContentPane(parentPane){ - public boolean isNeedSummaryCaculateMethod(){ - return false; - } - }; - } else{ - return Factory4TableDataContentPane.createTableDataContenetPaneWithPlotType(plot, parentPane); - } - } - - /** - * 数据集数据改变 - */ - public void fireTableDataChange() { - if (dataContentPane != null) { - dataContentPane.onSelectTableData(choosePane.getTableDataWrapper()); - } - } - - /** - * 清空数据集的设置 - */ - public void clearTableDataSetting(){ - if(dataContentPane != null){ - dataContentPane.clearAllBoxList(); - } - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/JSONDataPane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/data/JSONDataPane.java deleted file mode 100644 index 96e17d742..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/data/JSONDataPane.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.data; - -import com.fr.base.BaseUtils; -import com.fr.base.FRContext; -import com.fr.base.TableData; -import com.fr.chart.chartdata.JSONTableData; -import com.fr.design.constants.LayoutConstants; -import com.fr.design.constants.UIConstants; -import com.fr.design.data.tabledata.wrapper.TableDataWrapper; -import com.fr.design.gui.ibutton.UIButton; -import com.fr.design.gui.itextfield.UITextField; -import com.fr.design.mainframe.AbstractChartDataPane4Chart; - -import javax.swing.*; -import javax.swing.border.LineBorder; -import java.awt.*; -import java.awt.event.*; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-15 - * Time: 下午6:45 - */ -public class JSONDataPane extends ChartDesignDataLoadPane { - private UITextField url = new UITextField(); - private UIButton reviewButton; - private JSONTableData tableData; - - public JSONDataPane(AbstractChartDataPane4Chart parentPane) { - super(parentPane); - initReviewButton(); - url.addKeyListener(new KeyAdapter() { - @Override - public void keyTyped(KeyEvent e) { - if(e.getKeyChar() == KeyEvent.VK_ENTER){ - tableData.setFilePath(url.getText()); - fireChange(); - } - } - }); - this.setLayout(new BorderLayout(0, 0)); - JPanel pane = new JPanel(new BorderLayout(LayoutConstants.HGAP_LARGE, 0)); - pane.add(url, BorderLayout.CENTER); - pane.add(reviewButton, BorderLayout.EAST); - this.add(pane, BorderLayout.CENTER); - tableData = new JSONTableData(url.getText()); - } - - @Override - protected String title4PopupWindow() { - return null; - } - - private void initReviewButton() { - reviewButton = new UIButton(BaseUtils.readIcon("com/fr/design/images/data/search.png")); - reviewButton.setBorder(new LineBorder(UIConstants.LINE_COLOR)); - reviewButton.addMouseListener(new MouseAdapter() { - @Override - public void mouseReleased(MouseEvent e) { - tableData.setFilePath(url.getText()); - fireChange(); - //预览JSON数据 - TableDataWrapper tableDataWrappe = getTableDataWrapper(); - if (tableDataWrappe != null) { - try { - tableDataWrappe.previewData(); - } catch (Exception e1) { - FRContext.getLogger().error(e1.getMessage(), e1); - } - } - } - }); - } - - @Override - public TableData getTableData() { - return tableData; - } - - @Override - protected String getNamePrefix() { - return null; - } - - /** - * 加载数据集 - * @param tableData 数据集 - */ - public void populateChartTableData(TableData tableData) { - if(tableData instanceof JSONTableData) { - url.setText(((JSONTableData) tableData).getFilePath()); - this.tableData = (JSONTableData)tableData; - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/AreaPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/AreaPlotPane4ToolBar.java deleted file mode 100644 index 80ef68b25..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/AreaPlotPane4ToolBar.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.AreaIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:55 - */ -public class AreaPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int STACK_AREA_CHART = 0; - private static final int PERCENT_AREA_LINE_CHART = 1; - private static final int STACK_3D_AREA_CHART = 2; - private static final int PERCENT_3D_AREA_LINE_CHART = 3; - - public AreaPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/area/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - - String area = Inter.getLocText("FR-Chart-Type_Area"); - String stack = Inter.getLocText("FR-Chart-Type_Stacked"); - String percent = Inter.getLocText("FR-Chart-Use_Percent"); - - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), STACK_AREA_CHART, stack + area,this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), PERCENT_AREA_LINE_CHART, percent + stack + area,this)); - - String td = Inter.getLocText("FR-Chart-Chart_3D"); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), STACK_3D_AREA_CHART, td + stack + area,this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), PERCENT_3D_AREA_LINE_CHART, td + percent + stack + area,this)); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = AreaIndependentChart.areaChartTypes; - Plot newPlot =barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In AreaChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BarPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BarPlotPane4ToolBar.java deleted file mode 100644 index 331ae76aa..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BarPlotPane4ToolBar.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.BarIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:44 - */ -public class BarPlotPane4ToolBar extends PlotPane4ToolBar { - private static final int COLOMN_CHART = 0; - private static final int STACK_COLOMN_CHART = 1; - private static final int PERCENT_STACK_COLOMN_CHART = 2; - private static final int THREE_D_COLOMN_CHART = 3; - private static final int THREE_D_COLOMN_HORIZON_DRAW_CHART = 4; - private static final int THREE_D_STACK_COLOMN_CHART = 5; - private static final int THREE_D_PERCENT_STACK_COLOMN_CHART = 6; - - public BarPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/bar/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), COLOMN_CHART, Inter.getLocText("FR-Chart-Type_Bar"),this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), STACK_COLOMN_CHART, Inter.getLocText(new String[]{"FR-Chart-Type_Stacked","FR-Chart-Type_Bar"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), PERCENT_STACK_COLOMN_CHART, Inter.getLocText(new String[]{"FR-Chart-Use_Percent","FR-Chart-Type_Stacked","FR-Chart-Type_Bar"}),this)); - - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_COLOMN_CHART, Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Bar"}),this)); - - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_COLOMN_HORIZON_DRAW_CHART, Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Bar","FR-Chart-Direction_Horizontal"},new String[]{"","(",")"}),this)); - - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_STACK_COLOMN_CHART, - Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Stacked","FR-Chart-Type_Bar"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_PERCENT_STACK_COLOMN_CHART, - Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Use_Percent","FR-Chart-Type_Stacked","FR-Chart-Type_Bar"}),this)); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = BarIndependentChart.barChartTypes; - BarPlot newPlot = (BarPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In BarChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BubblePlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BubblePlotPane4ToolBar.java deleted file mode 100644 index 8d3d4d3d6..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/BubblePlotPane4ToolBar.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.base.FRContext; -import com.fr.chart.base.TextAttr; -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.BubbleIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午1:59 - */ -public class BubblePlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int BUBBLE_CHART = 0; - - public BubblePlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/bubble/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), BUBBLE_CHART, Inter.getLocText("FR-Chart-Chart_BubbleChart"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = BubbleIndependentChart.bubbleChartTypes; - BubblePlot newPlot = (BubblePlot) barChart[this.getSelectedIndex()].getPlot(); - setChartFontAttr(newPlot); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In BubbleChart"); - } - return cloned; - } - - /** - * 设置一些几本的属性 - * @param plot 绘图区对象 - */ - public static void setChartFontAttr(BubblePlot plot) { - if (plot.getxAxis() != null) { - TextAttr categoryTextAttr = new TextAttr(); - categoryTextAttr.setFRFont(FRContext.getDefaultValues().getFRFont()); - plot.getxAxis().setTextAttr(categoryTextAttr); - } - if (plot.getyAxis() != null) { - TextAttr valueTextAttr = new TextAttr(); - valueTextAttr.setFRFont(FRContext.getDefaultValues().getFRFont()); - plot.getyAxis().setTextAttr(valueTextAttr); - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ChartDesignerImagePane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ChartDesignerImagePane.java deleted file mode 100644 index 76a380839..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ChartDesignerImagePane.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.base.BaseUtils; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.util.ArrayList; - -/** - * 图表设计器,工具栏上的图表类型选择用的单个小图面板 - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午4:24 - */ -public class ChartDesignerImagePane extends JPanel implements MouseListener{ - - private static final int SIZE = 28; - private static final String NOMAL = "normal"; - private static final String OVER = "over"; - private static final String PRESS = "normal"; - - private String iconPath; - private int chartType; - private String state = NOMAL;//状态,按下、悬浮、正常 - private Icon mode; - private boolean isSelected; - private PlotPane4ToolBar parent; - private ArrayList changeListeners = new ArrayList(); - - public ChartDesignerImagePane(String iconPath, int chartType, String tipName,PlotPane4ToolBar parent) { - this.iconPath = iconPath; - this.chartType = chartType; - this.isSelected = false; - addMouseListener(this); - this.setToolTipText(tipName); - this.parent = parent; - } - - public Dimension getPreferredSize() { - return new Dimension(SIZE, SIZE); - } - - public void paintComponent(Graphics g) { - super.paintComponent(g); - mode = BaseUtils.readIcon(iconPath + chartType + "_" + state + ".png"); - if(this.isSelected){ - Icon border =BaseUtils.readIcon("com/fr/design/images/toolbar/border.png"); - border.paintIcon(this,g,0,0); - } - mode.paintIcon(this, g, 3, 3); - } - - public void setSelected(boolean isSelected) { - this.isSelected = isSelected; - this.state = isSelected ? PRESS : NOMAL; - } - - - /** - * 鼠标点击 - * @param e 事件 - */ - public void mouseClicked(MouseEvent e) { - } - - /** - * 鼠标按下 - * @param e 事件 - */ - public void mousePressed(MouseEvent e) { - parent.clearChoose(); - if(parent.getSelectedIndex() != this.chartType){ - parent.setSelectedIndex(this.chartType); - this.fireStateChange(); - } - this.isSelected = true; - state = PRESS; - this.repaint(); - } - - /** - * 鼠标释放 - * @param e 事件 - */ - public void mouseReleased(MouseEvent e) { - } - - /** - * 鼠标点击 - * @param e 进入 - */ - public void mouseEntered(MouseEvent e) { - if (this.isSelected) { - state = PRESS; - } else { - state = OVER; - } - this.repaint(); - } - - /** - * 鼠标点击 - * @param e 离开 - */ - public void mouseExited(MouseEvent e) { - if (this.isSelected) { - state = PRESS; - } else { - state = NOMAL; - } - this.repaint(); - } - - private void fireStateChange() { - for (int i = 0; i < changeListeners.size(); i++) { - changeListeners.get(i).stateChanged(new ChangeEvent(this)); - } - } - - /** - * 注册事件监听 - * @param listener 监听 - */ - public void registeChangeListener(ChangeListener listener){ - changeListeners.add(listener); - } - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ColumnPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ColumnPlotPane4ToolBar.java deleted file mode 100644 index beb5078ba..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/ColumnPlotPane4ToolBar.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.ColumnIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * 柱形图工具栏小图系列 - * Created by IntelliJ IDEA. - * Author : DAISY - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:21 - */ -public class ColumnPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int COLOMN_CHART = 0; - private static final int STACK_COLOMN_CHART = 1; - private static final int PERCENT_STACK_COLOMN_CHART = 2; - private static final int THREE_D_COLOMN_CHART = 3; - private static final int THREE_D_COLOMN_HORIZON_DRAW_CHART = 4; - private static final int THREE_D_STACK_COLOMN_CHART = 5; - private static final int THREE_D_PERCENT_STACK_COLOMN_CHART = 6; - - public ColumnPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/column/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), COLOMN_CHART, Inter.getLocText("FR-Chart-Type_Column"),this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), STACK_COLOMN_CHART, Inter.getLocText(new String[]{"FR-Chart-Type_Stacked","FR-Chart-Type_Column"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), PERCENT_STACK_COLOMN_CHART, - Inter.getLocText(new String[]{"FR-Chart-Use_Percent","FR-Chart-Type_Stacked","FR-Chart-Type_Column"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_COLOMN_CHART, Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Column"}),this)); - - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_COLOMN_HORIZON_DRAW_CHART, Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Column","FR-Chart-Direction_Horizontal"},new String[]{"","(",")"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_STACK_COLOMN_CHART, - Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Type_Stacked","FR-Chart-Type_Column"}),this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_PERCENT_STACK_COLOMN_CHART, - Inter.getLocText(new String[]{"FR-Chart-Chart_3D","FR-Chart-Use_Percent","FR-Chart-Type_Stacked","FR-Chart-Type_Column"}),this)); - return demoList; - } - - protected Plot getSelectedClonedPlot(){ - Chart[] barChart = ColumnIndependentChart.columnChartTypes; - BarPlot newPlot = (BarPlot)barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot)newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In ColumnChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/CustomPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/CustomPlotPane4ToolBar.java deleted file mode 100644 index aee7cada5..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/CustomPlotPane4ToolBar.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.CustomIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午1:39 - */ -public class CustomPlotPane4ToolBar extends PlotPane4ToolBar { - private static final int CUSTOM_NO_SHEET = 0; - - - public CustomPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/custom/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), CUSTOM_NO_SHEET, Inter.getLocText("ChartF-Comb_Chart"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = CustomIndependentChart.combChartTypes; - CustomPlot newPlot = (CustomPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In CustomChart"); - } - return cloned; - } - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/DonutPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/DonutPlotPane4ToolBar.java deleted file mode 100644 index fb2368268..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/DonutPlotPane4ToolBar.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.DonutIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:18 - */ -public class DonutPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int DONUT_CHART = 0; //2d圆环图 - private static final int THREE_D_DONUT_CHART = 1; //3D圆环图 - - public DonutPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/donut/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), DONUT_CHART, Inter.getLocText("FR-Chart-Type_Donut"),this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_DONUT_CHART, Inter.getLocText(new String[]{"FR-Chart-Chart_3D", "FR-Chart-Type_Donut"}),this)); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = DonutIndependentChart.donutChartTypes; - DonutPlot newPlot = (DonutPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In DonutChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/GanttPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/GanttPlotPane4ToolBar.java deleted file mode 100644 index ab43c4f49..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/GanttPlotPane4ToolBar.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.GanttIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : DAISY - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:16 - */ -public class GanttPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int GANTT = 0; - - public GanttPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/gantt/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), GANTT, Inter.getLocText("FR-Chart-Type_Gantt"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = GanttIndependentChart.ganttChartTypes; - GanttPlot newPlot = (GanttPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In GanttChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/LinePlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/LinePlotPane4ToolBar.java deleted file mode 100644 index c84408db7..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/LinePlotPane4ToolBar.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.LineIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : DAISY - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:37 - */ -public class LinePlotPane4ToolBar extends PlotPane4ToolBar { - - - private static final int LINE_CHART = 0; - - public LinePlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/line/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), LINE_CHART, Inter.getLocText("I-LineStyle_Line"), this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = LineIndependentChart.lineChartTypes; - LinePlot newPlot = (LinePlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In LineChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/MeterPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/MeterPlotPane4ToolBar.java deleted file mode 100644 index 39a7cf504..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/MeterPlotPane4ToolBar.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.base.FRContext; -import com.fr.chart.base.TextAttr; -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.MeterIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:08 - */ -public class MeterPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int METER = 0; - private static final int BLUE_METER = 1; - private static final int SIMPLE_METER = 2; - - public MeterPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/meter/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), METER, Inter.getLocText("FR-Chart-Type_Meter"),this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), BLUE_METER, Inter.getLocText("FR-Chart-Type_Meter")+1,this)); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), SIMPLE_METER, Inter.getLocText("FR-Chart-Type_Meter")+2,this)); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = MeterIndependentChart.meterChartTypes; - MeterPlot newPlot = (MeterPlot) barChart[this.getSelectedIndex()].getPlot(); - setChartFontAttr4MeterStyle(newPlot); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In MeterChart"); - } - return cloned; - } - - /** - * 设置一些几本的属性 - * @param plot 绘图区对象 - */ - public static void setChartFontAttr4MeterStyle(MeterPlot plot) { - if(plot.getMeterStyle() != null){ - plot.getMeterStyle().setTitleTextAttr(new TextAttr(FRContext.getDefaultValues().getFRFont())); - } - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PiePlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PiePlotPane4ToolBar.java deleted file mode 100644 index 7508069d5..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PiePlotPane4ToolBar.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.PieIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:52 - */ -public class PiePlotPane4ToolBar extends PlotPane4ToolBar { - private static final int PIE_CHART = 0; - private static final int THREE_D_PIE_CHART = 1; - - public PiePlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/pie/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), PIE_CHART, Inter.getLocText("I-PieStyle_Normal"),this); - pane.setSelected(true); - demoList.add(pane); - demoList.add(new ChartDesignerImagePane(getTypeIconPath(), THREE_D_PIE_CHART, - Inter.getLocText(new String[]{"FR-Chart-Chart_3D", "I-PieStyle_Normal"}),this)); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = PieIndependentChart.pieChartTypes; - PiePlot newPlot = (PiePlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In PieChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PlotPane4ToolBar.java deleted file mode 100644 index 34311313a..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/PlotPane4ToolBar.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Copyright (c) 2001-2014,FineReport Inc, All Rights Reserved. - */ - -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.base.FRContext; -import com.fr.chart.chartattr.Chart; -import com.fr.chart.chartattr.ChartCollection; -import com.fr.chart.chartattr.Plot; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.design.mainframe.chart.ChartDesignEditPane; -import com.fr.general.ComparatorUtils; -import com.fr.js.NameJavaScriptGroup; -import com.fr.stable.Constants; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; -import java.util.List; - -/** - * 图表设计器 工具栏面板 - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-16 - * Time: 下午5:17 - */ -public abstract class PlotPane4ToolBar extends JPanel{ - private static final int COM_GAP = 14; - - protected List typeDemo; - - protected abstract String getTypeIconPath(); - - protected abstract List initDemoList(); - - private int selectedIndex = 0;//默认选中第一个 - private ChartDesigner chartDesigner; - private ChangeListener changeListener = new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - fireChange(); - } - }; - - public PlotPane4ToolBar(ChartDesigner designer){ - chartDesigner = designer; - typeDemo = initDemoList(); - this.setLayout(new FlowLayout(FlowLayout.LEFT, COM_GAP, 0)); - for(int i = 0; i < typeDemo.size(); i++) { - ChartDesignerImagePane tmp = typeDemo.get(i); - tmp.registeChangeListener(changeListener); - this.add(tmp); - } - this.setSelectedIndex(0); - } - - /** - * 清除选中 - */ - public void clearChoose(){ - if(typeDemo == null){ - return; - } - for(int i = 0; i < typeDemo.size(); i++) { - typeDemo.get(i).setSelected(false); - this.repaint(); - } - } - - public void setSelectedIndex(int selectedIndex){ - clearChoose(); - this.selectedIndex = selectedIndex; - typeDemo.get(selectedIndex).setSelected(true); - } - - public int getSelectedIndex(){ - return this.selectedIndex; - } - - //子类覆盖 - protected Plot getSelectedClonedPlot(){ - return null; - } - - /** - * 切换图表类型 - */ - public void fireChange(){ - ChartCollection chartCollection = (ChartCollection)chartDesigner.getTarget().getChartCollection(); - Chart chart =chartCollection.getSelectedChart(); - chart.switchPlot(getSelectedClonedPlot()); - resetChart(chart); - chartDesigner.clearToolBarStyleChoose(); - chartDesigner.fireTargetModified(); - ChartDesignEditPane.getInstance().populateSelectedTabPane(); - } - - protected void resetChart(Chart chart){ - chart.setBorderStyle(Constants.LINE_NONE); - chart.setBorderColor(new Color(150, 150, 150)); - chart.setBackground(null); - } - - public Plot setSelectedClonedPlotWithCondition(Plot oldPlot){ - Plot newPlot = getSelectedClonedPlot(); - if(oldPlot != null && ComparatorUtils.equals(newPlot.getClass(), oldPlot.getClass())){ - if(oldPlot.getHotHyperLink() != null){ - NameJavaScriptGroup hotHyper = oldPlot.getHotHyperLink(); - try { - newPlot.setHotHyperLink((NameJavaScriptGroup)hotHyper.clone()); - } catch (CloneNotSupportedException e) { - FRContext.getLogger().error("Error in Hyperlink, Please Check it.", e); - } - } - newPlot.setConditionCollection(oldPlot.getConditionCollection()); - newPlot.setSeriesDragEnable(oldPlot.isSeriesDragEnable()); - if(newPlot.isSupportZoomCategoryAxis() && newPlot.getxAxis() != null) { - newPlot.getxAxis().setZoom(oldPlot.getxAxis().isZoom()); - } - if(newPlot.isSupportTooltipInInteractivePane()) { - newPlot.setHotTooltipStyle(oldPlot.getHotTooltipStyle()); - } - - if(newPlot.isSupportAutoRefresh()) { - newPlot.setAutoRefreshPerSecond(oldPlot.getAutoRefreshPerSecond()); - } - } - return newPlot; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RadarPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RadarPlotPane4ToolBar.java deleted file mode 100644 index c21ad2ca9..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RadarPlotPane4ToolBar.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.RadarIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:02 - */ -public class RadarPlotPane4ToolBar extends PlotPane4ToolBar { - private static final int RADAR = 0; - - public RadarPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/radar/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), RADAR, Inter.getLocText("FR-Chart-Type_Radar"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = RadarIndependentChart.radarChartTypes; - RadarPlot newPlot = (RadarPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In RadarChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RangePlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RangePlotPane4ToolBar.java deleted file mode 100644 index 15c5d41ae..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/RangePlotPane4ToolBar.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.RangeIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:13 - */ -public class RangePlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int RANGE = 0; - - public RangePlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/range/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), RANGE, Inter.getLocText("ChartF-Range_Chart"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = RangeIndependentChart.rangeChartTypes; - RangePlot newPlot = (RangePlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In RangeChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/StockPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/StockPlotPane4ToolBar.java deleted file mode 100644 index d7eb9f31d..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/StockPlotPane4ToolBar.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.StockIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午2:04 - */ -public class StockPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int STOCK = 0; - - public StockPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/stock/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), STOCK, Inter.getLocText("FR-Chart-Type_Stock"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = StockIndependentChart.stockChartTypes; - StockPlot newPlot = (StockPlot) barChart[this.getSelectedIndex()].getPlot(); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In StockChart"); - } - return cloned; - } -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/UserDefinedChartTypePane.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/UserDefinedChartTypePane.java deleted file mode 100644 index a3dde9559..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/UserDefinedChartTypePane.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - - -import com.fr.chart.chartattr.Chart; - -/** - * Created by eason on 15/4/23. - */ -public abstract class UserDefinedChartTypePane extends AbstractChartTypePane{ - - protected String[] getTypeLayoutPath() { - return new String[0]; - } - - protected String[] getTypeLayoutTipName(){ - return new String[0]; - } - - protected String[] getTypeIconPath(){ - return new String[]{"/com/fr/design/images/chart/default.png"}; - } - - protected String[] getTypeTipName() { - return new String[]{title4PopupWindow()}; - } - - public void updateBean(Chart chart) { - - } - - public void populateBean(Chart chart){ - typeDemo.get(0).isPressing = true; - checkDemosBackground(); - } - - /** - * 弹出界面的标题 - * @return 标题 - */ - public String title4PopupWindow(){ - return ""; - } - - -} \ No newline at end of file diff --git a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/XYSCatterPlotPane4ToolBar.java b/designer_chart/src/com/fr/design/mainframe/chart/gui/type/XYSCatterPlotPane4ToolBar.java deleted file mode 100644 index 00bea1278..000000000 --- a/designer_chart/src/com/fr/design/mainframe/chart/gui/type/XYSCatterPlotPane4ToolBar.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.fr.design.mainframe.chart.gui.type; - -import com.fr.base.FRContext; -import com.fr.chart.base.TextAttr; -import com.fr.chart.chartattr.*; -import com.fr.chart.charttypes.XYScatterIndependentChart; -import com.fr.design.mainframe.ChartDesigner; -import com.fr.general.FRLogger; -import com.fr.general.Inter; - -import java.util.ArrayList; -import java.util.List; - -/** - * Created by IntelliJ IDEA. - * Author : daisy - * Version: 6.5.6 - * Date: 14-10-29 - * Time: 下午1:54 - */ -public class XYSCatterPlotPane4ToolBar extends PlotPane4ToolBar { - - private static final int XYSCATTER_CHART = 0; - - public XYSCatterPlotPane4ToolBar(ChartDesigner designer) { - super(designer); - } - - @Override - protected String getTypeIconPath() { - return "com/fr/design/images/toolbar/xyscatter/"; - } - - @Override - protected List initDemoList() { - List demoList = new ArrayList(); - ChartDesignerImagePane pane = new ChartDesignerImagePane(getTypeIconPath(), XYSCATTER_CHART, Inter.getLocText("FR-Chart-Type_XYScatter"),this); - pane.setSelected(true); - demoList.add(pane); - return demoList; - } - - protected Plot getSelectedClonedPlot() { - Chart[] barChart = XYScatterIndependentChart.XYScatterChartTypes; - XYPlot newPlot = (XYPlot) barChart[this.getSelectedIndex()].getPlot(); - setChartFontAttr(newPlot); - Plot cloned = null; - try { - cloned = (Plot) newPlot.clone(); - } catch (CloneNotSupportedException e) { - FRLogger.getLogger().error("Error In XYScatterChart"); - } - return cloned; - } - - /** - * 设置一些几本的属性 - * @param plot 绘图区对象 - */ - public static void setChartFontAttr(XYPlot plot) { - if (plot.getxAxis() != null) { - TextAttr categoryTextAttr = new TextAttr(); - categoryTextAttr.setFRFont(FRContext.getDefaultValues().getFRFont()); - plot.getxAxis().setTextAttr(categoryTextAttr); - } - if (plot.getyAxis() != null) { - TextAttr valueTextAttr = new TextAttr(); - valueTextAttr.setFRFont(FRContext.getDefaultValues().getFRFont()); - plot.getyAxis().setTextAttr(valueTextAttr); - } - } -} \ No newline at end of file