Browse Source

Merge pull request #69 in BA/design from ~VITO/design:dev to dev

* commit 'd941231d760c72ad4861bd9146b884d88788b301':
  去掉无用返回值
  private
  改成循环存取
  邮件图片导出设置part5 in 5
master
superman 9 years ago
parent
commit
ca86b9c01d
  1. 6
      designer/src/com/fr/design/report/ExcelExportPane.java
  2. 4
      designer/src/com/fr/design/report/PDFExportPane.java
  3. 32
      designer/src/com/fr/design/report/ReportExportAttrPane.java
  4. 4
      designer/src/com/fr/design/report/WordExportPane.java
  5. 19
      designer_base/src/com/fr/design/ExtraDesignClassManager.java
  6. 13
      designer_base/src/com/fr/design/fun/AbstractExportPane.java
  7. 22
      designer_base/src/com/fr/design/fun/ExportAttrTabProvider.java
  8. 19
      designer_base/src/com/fr/design/fun/impl/AbstractExportAttrTabProvider.java

6
designer/src/com/fr/design/report/ExcelExportPane.java

@ -4,8 +4,10 @@ package com.fr.design.report;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import com.fr.design.fun.AbstractExportPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import javax.swing.JPanel;
import javax.swing.*;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
@ -32,7 +34,7 @@ public class ExcelExportPane extends BasicPane {
protected void initComponents() { protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("Excel" + Inter.getLocText("ReportD-Excel_Export")); JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("Excel" + Inter.getLocText("ReportD-Excel_Export"));
JPanel northPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); JPanel northPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane();
this.add(outnorthPane); this.add(outnorthPane);

4
designer/src/com/fr/design/report/PDFExportPane.java

@ -4,7 +4,7 @@ package com.fr.design.report;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.JPanel; import javax.swing.*;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
@ -26,7 +26,7 @@ public class PDFExportPane extends BasicPane {
protected void initComponents() { protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("PDF" + Inter.getLocText("ReportD-Excel_Export")); JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("PDF" + Inter.getLocText("ReportD-Excel_Export"));
JPanel northPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane(); JPanel northPane=FRGUIPaneFactory.createY_AXISBoxInnerContainer_M_Pane();
this.add(outnorthPane); this.add(outnorthPane);

32
designer/src/com/fr/design/report/ReportExportAttrPane.java

@ -1,27 +1,42 @@
package com.fr.design.report; package com.fr.design.report;
import javax.swing.BorderFactory; import javax.swing.*;
import javax.swing.BoxLayout;
import com.fr.design.ExtraDesignClassManager;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.fun.AbstractExportPane;
import com.fr.design.fun.ExportAttrTabProvider;
import com.fr.design.gui.frpane.UITabbedPane;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.io.attr.ReportExportAttr; import com.fr.io.attr.ReportExportAttr;
import java.util.ArrayList;
import java.util.List;
public class ReportExportAttrPane extends BasicPane { public class ReportExportAttrPane extends BasicPane {
private ExcelExportPane excelExportPane; private ExcelExportPane excelExportPane;
private PDFExportPane pdfExportPane; private PDFExportPane pdfExportPane;
private WordExportPane wordExportPane; private WordExportPane wordExportPane;
private List<AbstractExportPane> paneList;
public ReportExportAttrPane() { public ReportExportAttrPane() {
UITabbedPane uiTabbedPane = new UITabbedPane();
this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
excelExportPane = new ExcelExportPane(); excelExportPane = new ExcelExportPane();
this.add(excelExportPane); uiTabbedPane.addTab("Excel", excelExportPane);
pdfExportPane = new PDFExportPane(); pdfExportPane = new PDFExportPane();
this.add(pdfExportPane); uiTabbedPane.addTab("PDF", pdfExportPane);
wordExportPane = new WordExportPane(); wordExportPane = new WordExportPane();
this.add(wordExportPane); uiTabbedPane.addTab("Word", wordExportPane);
ExportAttrTabProvider[] providers = ExtraDesignClassManager.getInstance().getExportAttrTabProviders();
paneList = new ArrayList<AbstractExportPane>();
for (ExportAttrTabProvider provider : providers) {
uiTabbedPane.addTab(provider.title(), provider.toSwingComponent());
paneList.add(provider.toExportPane());
}
this.add(uiTabbedPane);
} }
@Override @Override
@ -45,6 +60,10 @@ public class ReportExportAttrPane extends BasicPane {
if (this.wordExportPane != null) { if (this.wordExportPane != null) {
this.wordExportPane.populate(reportExportAttr.getWordExportAttr()); this.wordExportPane.populate(reportExportAttr.getWordExportAttr());
} }
for (AbstractExportPane exportpane : paneList) {
exportpane.populate(reportExportAttr);
}
} }
public ReportExportAttr update() { public ReportExportAttr update() {
@ -62,6 +81,9 @@ public class ReportExportAttrPane extends BasicPane {
reportExportAttr.setWordExportAttr(this.wordExportPane.update()); reportExportAttr.setWordExportAttr(this.wordExportPane.update());
} }
for (AbstractExportPane exportPane : paneList) {
exportPane.update(reportExportAttr);
}
return reportExportAttr; return reportExportAttr;
} }
} }

4
designer/src/com/fr/design/report/WordExportPane.java

@ -4,7 +4,7 @@ package com.fr.design.report;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import javax.swing.JPanel; import javax.swing.*;
import com.fr.design.gui.icheckbox.UICheckBox; import com.fr.design.gui.icheckbox.UICheckBox;
import com.fr.design.gui.ilable.MultilineLabel; import com.fr.design.gui.ilable.MultilineLabel;
@ -23,7 +23,7 @@ public class WordExportPane extends BasicPane {
protected void initComponents() { protected void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("Word" + Inter.getLocText("ReportD-Excel_Export")); JPanel outnorthPane =FRGUIPaneFactory.createTitledBorderPane("Word" + Inter.getLocText("ReportD-Excel_Export"));
this.add(outnorthPane); this.add(outnorthPane);

19
designer_base/src/com/fr/design/ExtraDesignClassManager.java

@ -132,6 +132,8 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi
private Set<WidgetAttrProvider> widgetAttrProviders; private Set<WidgetAttrProvider> widgetAttrProviders;
private Set<ExportAttrTabProvider> exportAttrTabProviders;
public TableDataTreePaneProcessor getTableDataTreePaneProcessor() { public TableDataTreePaneProcessor getTableDataTreePaneProcessor() {
return tableDataTreePaneProcessor; return tableDataTreePaneProcessor;
} }
@ -753,6 +755,21 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi
widgetAttrProviders.add((WidgetAttrProvider) level); widgetAttrProviders.add((WidgetAttrProvider) level);
} }
public ExportAttrTabProvider[] getExportAttrTabProviders() {
if (exportAttrTabProviders == null) {
return new ExportAttrTabProvider[0];
}
return exportAttrTabProviders.toArray(new ExportAttrTabProvider[exportAttrTabProviders.size()]);
}
public void addExportAttrTabProvider(Level level, PluginSimplify simplify) throws Exception {
if (exportAttrTabProviders == null) {
exportAttrTabProviders = new HashSet<ExportAttrTabProvider>();
}
validAPILevel(level, ExportAttrTabProvider.CURRENT_LEVEL, simplify.getPluginName());
exportAttrTabProviders.add((ExportAttrTabProvider) level);
}
/** /**
* 文件名 * 文件名
* *
@ -847,6 +864,8 @@ public class ExtraDesignClassManager extends XMLFileManager implements ExtraDesi
addElementUIProvider(impl, simplify); addElementUIProvider(impl, simplify);
} else if (tagName.equals(WidgetAttrProvider.XML_TAG)) { } else if (tagName.equals(WidgetAttrProvider.XML_TAG)) {
addWidgetAttrProvider(impl, simplify); addWidgetAttrProvider(impl, simplify);
} else if (tagName.equals(ExportAttrTabProvider.XML_TAG)) {
addExportAttrTabProvider(impl, simplify);
} }
} catch (PluginInvalidLevelException e) { } catch (PluginInvalidLevelException e) {
PluginMessage.remindUpdate(e.getMessage()); PluginMessage.remindUpdate(e.getMessage());

13
designer_base/src/com/fr/design/fun/AbstractExportPane.java

@ -0,0 +1,13 @@
package com.fr.design.fun;
import com.fr.design.dialog.BasicPane;
/**
* Created by vito on 16/5/5.
*/
public abstract class AbstractExportPane extends BasicPane {
public abstract void populate(Object t);
public abstract void update(Object t);
}

22
designer_base/src/com/fr/design/fun/ExportAttrTabProvider.java

@ -0,0 +1,22 @@
package com.fr.design.fun;
import com.fr.stable.fun.Level;
import javax.swing.*;
/**
* Created by vito on 16/5/5.
*/
public interface ExportAttrTabProvider extends Level{
String XML_TAG = "ExportAttrTabProvider";
int CURRENT_LEVEL = 1;
JComponent toSwingComponent();
AbstractExportPane toExportPane();
String title();
String tag();
}

19
designer_base/src/com/fr/design/fun/impl/AbstractExportAttrTabProvider.java

@ -0,0 +1,19 @@
package com.fr.design.fun.impl;
import com.fr.design.fun.ExportAttrTabProvider;
import com.fr.stable.fun.impl.AbstractProvider;
/**
* Created by vito on 16/5/5.
*/
public abstract class AbstractExportAttrTabProvider extends AbstractProvider implements ExportAttrTabProvider {
@Override
public int currentAPILevel() {
return CURRENT_LEVEL;
}
@Override
public String mark4Provider() {
return this.getClass().getName();
}
}
Loading…
Cancel
Save