Browse Source

merge

master
plough 8 years ago
parent
commit
4f547f91d2
  1. 55
      designer/src/com/fr/design/actions/CellSelectionAction.java
  2. 16
      designer/src/com/fr/design/actions/ElementCaseAction.java
  3. 5
      designer/src/com/fr/design/actions/SelectionListenerAction.java
  4. 38
      designer/src/com/fr/design/actions/insert/cell/AbstractCellAction.java
  5. 17
      designer/src/com/fr/design/actions/insert/cell/BiasCellAction.java
  6. 14
      designer/src/com/fr/design/actions/insert/cell/ChartCellAction.java
  7. 16
      designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java
  8. 16
      designer/src/com/fr/design/actions/insert/cell/FormulaCellAction.java
  9. 16
      designer/src/com/fr/design/actions/insert/cell/GeneralCellAction.java
  10. 16
      designer/src/com/fr/design/actions/insert/cell/ImageCellAction.java
  11. 93
      designer/src/com/fr/design/actions/insert/cell/RichTextCellAction.java
  12. 99
      designer/src/com/fr/design/actions/insert/cell/SubReportCellAction.java
  13. 184
      designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java
  14. 79
      designer/src/com/fr/quickeditor/CellQuickEditor.java
  15. 7
      designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java
  16. 7
      designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java
  17. 7
      designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java
  18. 6
      designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java
  19. 6
      designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java
  20. 8
      designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java
  21. 6
      designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java
  22. 42
      designer_base/src/com/fr/design/actions/TemplateComponentAction.java
  23. 34
      designer_base/src/com/fr/design/actions/core/ActionFactory.java
  24. 183
      designer_base/src/com/fr/design/gui/frpane/ReportletParameterViewPane.java
  25. 105
      designer_base/src/com/fr/design/gui/itableeditorpane/UITableEditorPane.java
  26. BIN
      designer_base/src/com/fr/design/images/arrow/arrow_down.png
  27. BIN
      designer_base/src/com/fr/design/images/arrow/arrow_up.png
  28. BIN
      designer_base/src/com/fr/design/images/buttonicon/add.png
  29. BIN
      designer_base/src/com/fr/design/images/buttonicon/add_press.png
  30. BIN
      designer_base/src/com/fr/design/images/buttonicon/addicon.png
  31. BIN
      designer_base/src/com/fr/design/images/buttonicon/cube.png
  32. BIN
      designer_base/src/com/fr/design/images/buttonicon/editp.png
  33. BIN
      designer_base/src/com/fr/design/images/buttonicon/hiden.png
  34. BIN
      designer_base/src/com/fr/design/images/buttonicon/hidep.png
  35. BIN
      designer_base/src/com/fr/design/images/buttonicon/minus.png
  36. BIN
      designer_base/src/com/fr/design/images/buttonicon/newcpts.png
  37. BIN
      designer_base/src/com/fr/design/images/buttonicon/open.png
  38. BIN
      designer_base/src/com/fr/design/images/buttonicon/pageb24.png
  39. BIN
      designer_base/src/com/fr/design/images/buttonicon/pages.png
  40. BIN
      designer_base/src/com/fr/design/images/buttonicon/plus.png
  41. BIN
      designer_base/src/com/fr/design/images/buttonicon/redo.png
  42. BIN
      designer_base/src/com/fr/design/images/buttonicon/refresh.png
  43. BIN
      designer_base/src/com/fr/design/images/buttonicon/run24.png
  44. BIN
      designer_base/src/com/fr/design/images/buttonicon/undo.png
  45. BIN
      designer_base/src/com/fr/design/images/buttonicon/writeb24.png
  46. BIN
      designer_base/src/com/fr/design/images/buttonicon/writes.png
  47. BIN
      designer_base/src/com/fr/design/images/chart/ChartStyle.png
  48. BIN
      designer_base/src/com/fr/design/images/chart/ChartType.png
  49. BIN
      designer_base/src/com/fr/design/images/chart/InterAttr.png
  50. BIN
      designer_base/src/com/fr/design/images/control/addPopup.png
  51. BIN
      designer_base/src/com/fr/design/images/control/bar.png
  52. BIN
      designer_base/src/com/fr/design/images/control/copy.png
  53. BIN
      designer_base/src/com/fr/design/images/control/edit.png
  54. BIN
      designer_base/src/com/fr/design/images/control/remove.png
  55. BIN
      designer_base/src/com/fr/design/images/dashboard/files.png
  56. BIN
      designer_base/src/com/fr/design/images/data/bind/distanceconnect.png
  57. BIN
      designer_base/src/com/fr/design/images/data/bind/localconnect.png
  58. BIN
      designer_base/src/com/fr/design/images/data/dataDictionary.png
  59. BIN
      designer_base/src/com/fr/design/images/data/dataTable.png
  60. BIN
      designer_base/src/com/fr/design/images/data/dock/serverdatabase.png
  61. BIN
      designer_base/src/com/fr/design/images/data/multi.png
  62. BIN
      designer_base/src/com/fr/design/images/data/source/rename.png
  63. BIN
      designer_base/src/com/fr/design/images/file/fold.png
  64. BIN
      designer_base/src/com/fr/design/images/file/newfolder.png
  65. BIN
      designer_base/src/com/fr/design/images/form/toolbar/ec_frozen.png
  66. BIN
      designer_base/src/com/fr/design/images/gui/color/background.png
  67. BIN
      designer_base/src/com/fr/design/images/lookandfeel/ErrorIcon.png
  68. BIN
      designer_base/src/com/fr/design/images/lookandfeel/InformationIcon.png
  69. BIN
      designer_base/src/com/fr/design/images/lookandfeel/QuestionIcon.png
  70. BIN
      designer_base/src/com/fr/design/images/lookandfeel/TreeFolderOpenedIcon.png
  71. BIN
      designer_base/src/com/fr/design/images/lookandfeel/WarningIcon.png
  72. BIN
      designer_base/src/com/fr/design/images/m_edit/copy.png
  73. BIN
      designer_base/src/com/fr/design/images/m_edit/cut.png
  74. BIN
      designer_base/src/com/fr/design/images/m_edit/formatBrush.png
  75. BIN
      designer_base/src/com/fr/design/images/m_edit/merge.png
  76. BIN
      designer_base/src/com/fr/design/images/m_edit/unmerge.png
  77. BIN
      designer_base/src/com/fr/design/images/m_file/formExport.png
  78. BIN
      designer_base/src/com/fr/design/images/m_file/pdf.png
  79. BIN
      designer_base/src/com/fr/design/images/m_file/preview.png
  80. BIN
      designer_base/src/com/fr/design/images/m_file/saveAs.png
  81. BIN
      designer_base/src/com/fr/design/images/m_file/switch.png
  82. BIN
      designer_base/src/com/fr/design/images/m_file/text.png
  83. BIN
      designer_base/src/com/fr/design/images/m_file/view_folder.png
  84. BIN
      designer_base/src/com/fr/design/images/m_file/word.png
  85. BIN
      designer_base/src/com/fr/design/images/m_format/cellstyle/bold.png
  86. BIN
      designer_base/src/com/fr/design/images/m_format/cellstyle/italic.png
  87. BIN
      designer_base/src/com/fr/design/images/m_format/cellstyle/otherset.png
  88. BIN
      designer_base/src/com/fr/design/images/m_format/cellstyle/underline.png
  89. BIN
      designer_base/src/com/fr/design/images/m_format/highlight.png
  90. BIN
      designer_base/src/com/fr/design/images/m_format/modified.png
  91. BIN
      designer_base/src/com/fr/design/images/m_help/demo.png
  92. BIN
      designer_base/src/com/fr/design/images/m_help/feedback.png
  93. BIN
      designer_base/src/com/fr/design/images/m_help/help.png
  94. BIN
      designer_base/src/com/fr/design/images/m_help/product_forum.png
  95. BIN
      designer_base/src/com/fr/design/images/m_insert/cell.png
  96. BIN
      designer_base/src/com/fr/design/images/m_insert/chart.png
  97. BIN
      designer_base/src/com/fr/design/images/m_insert/insertColumn.png
  98. BIN
      designer_base/src/com/fr/design/images/m_report/background.png
  99. BIN
      designer_base/src/com/fr/design/images/m_report/close.png
  100. BIN
      designer_base/src/com/fr/design/images/m_report/close_over.png
  101. Some files were not shown because too many files have changed in this diff Show More

55
designer/src/com/fr/design/actions/CellSelectionAction.java

@ -5,30 +5,33 @@ import com.fr.grid.selection.CellSelection;
import com.fr.grid.selection.Selection; import com.fr.grid.selection.Selection;
public abstract class CellSelectionAction extends ElementCaseAction { public abstract class CellSelectionAction extends ElementCaseAction {
protected CellSelectionAction(ElementCasePane t) { protected CellSelectionAction() {
super(t); }
}
protected CellSelectionAction(ElementCasePane t) {
@Override super(t);
public boolean executeActionReturnUndoRecordNeeded() { }
ElementCasePane ePane = this.getEditingComponent();
Selection s = ePane.getSelection(); @Override
public boolean executeActionReturnUndoRecordNeeded() {
// TODO ALEX_SEP instanceof i hate it ElementCasePane ePane = this.getEditingComponent();
if (s instanceof CellSelection) { Selection s = ePane.getSelection();
return executeActionReturnUndoRecordNeededWithCellSelection((CellSelection)s);
} // TODO ALEX_SEP instanceof i hate it
if (s instanceof CellSelection) {
return false; return executeActionReturnUndoRecordNeededWithCellSelection((CellSelection) s);
} }
protected abstract boolean executeActionReturnUndoRecordNeededWithCellSelection(CellSelection cs); return false;
}
@Override
public void update() { protected abstract boolean executeActionReturnUndoRecordNeededWithCellSelection(CellSelection cs);
super.update();
if (this.isEnabled()) { @Override
this.setEnabled(this.getEditingComponent().getSelection() instanceof CellSelection); public void update() {
} super.update();
} if (this.isEnabled()) {
this.setEnabled(this.getEditingComponent().getSelection() instanceof CellSelection);
}
}
} }

16
designer/src/com/fr/design/actions/ElementCaseAction.java

@ -3,17 +3,15 @@ package com.fr.design.actions;
//ElementCaseAction应该有GridSelectionChangeListener,就从悬浮元素和单元格来讲,就必须有了,用来判断这些ElementCaseAction是否可以编辑,当然还可以做些其他事情 //ElementCaseAction应该有GridSelectionChangeListener,就从悬浮元素和单元格来讲,就必须有了,用来判断这些ElementCaseAction是否可以编辑,当然还可以做些其他事情
// //
import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import com.fr.grid.selection.CellSelection;
import com.fr.grid.selection.Selection;
import com.fr.design.selection.SelectionEvent;
import com.fr.design.selection.SelectionListener;
public abstract class ElementCaseAction extends SelectionListenerAction { public abstract class ElementCaseAction extends SelectionListenerAction {
protected ElementCaseAction(ElementCasePane t) { protected ElementCaseAction() {
super(t); }
t.addSelectionChangeListener(createSelectionListener());
} protected ElementCaseAction(ElementCasePane t) {
super(t);
t.addSelectionChangeListener(createSelectionListener());
}
} }

5
designer/src/com/fr/design/actions/SelectionListenerAction.java

@ -12,11 +12,14 @@ import com.fr.grid.selection.Selection;
*/ */
public abstract class SelectionListenerAction extends TemplateComponentAction<ElementCasePane> { public abstract class SelectionListenerAction extends TemplateComponentAction<ElementCasePane> {
protected SelectionListenerAction() {
}
protected SelectionListenerAction(ElementCasePane elementCasePane) { protected SelectionListenerAction(ElementCasePane elementCasePane) {
super(elementCasePane); super(elementCasePane);
} }
protected SelectionListener createSelectionListener () { protected SelectionListener createSelectionListener() {
return new SelectionListener() { return new SelectionListener() {
@Override @Override

38
designer/src/com/fr/design/actions/insert/cell/AbstractCellAction.java

@ -13,12 +13,15 @@ import com.fr.report.elementcase.TemplateElementCase;
* Cell. * Cell.
*/ */
public abstract class AbstractCellAction extends CellSelectionAction { public abstract class AbstractCellAction extends CellSelectionAction {
protected AbstractCellAction(ElementCasePane t) { protected AbstractCellAction() {
super(t); }
}
protected AbstractCellAction(ElementCasePane t) {
super(t);
}
public abstract Class getCellValueClass(); public abstract Class getCellValueClass();
/* /*
* TODO ALEX_SEP 这里的返回boolean量表示模板是否改变,导致很多很多的方法的boolean返回值都是这个意思 * TODO ALEX_SEP 这里的返回boolean量表示模板是否改变,导致很多很多的方法的boolean返回值都是这个意思
* *
@ -26,8 +29,8 @@ public abstract class AbstractCellAction extends CellSelectionAction {
*/ */
@Override @Override
protected boolean executeActionReturnUndoRecordNeededWithCellSelection( protected boolean executeActionReturnUndoRecordNeededWithCellSelection(
CellSelection cs) { CellSelection cs) {
ElementCasePane ePane = this.getEditingComponent(); ElementCasePane ePane = this.getEditingComponent();
//got simple cell element from column and row. //got simple cell element from column and row.
TemplateElementCase report = ePane.getEditingElementCase(); TemplateElementCase report = ePane.getEditingElementCase();
@ -35,17 +38,18 @@ public abstract class AbstractCellAction extends CellSelectionAction {
if (report != null && this instanceof DSColumnCellAction) { if (report != null && this instanceof DSColumnCellAction) {
SheetUtils.calculateDefaultParent(report); SheetUtils.calculateDefaultParent(report);
} }
return ePane.getGrid().startCellEditingAt_DEC( return ePane.getGrid().startCellEditingAt_DEC(
cs.getColumn(), cs.getColumn(),
cs.getRow(), cs.getRow(),
this.getCellValueClass(), false this.getCellValueClass(), false
); );
} }
@Override
public void update() { @Override
super.update(); public void update() {
ElementCasePane ePane = this.getEditingComponent(); super.update();
this.setEnabled(ePane.isSelectedOneCell()); ElementCasePane ePane = this.getEditingComponent();
} this.setEnabled(ePane.isSelectedOneCell());
}
} }

17
designer/src/com/fr/design/actions/insert/cell/BiasCellAction.java

@ -3,8 +3,6 @@
*/ */
package com.fr.design.actions.insert.cell; package com.fr.design.actions.insert.cell;
import javax.swing.KeyStroke;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.design.actions.core.WorkBookSupportable; import com.fr.design.actions.core.WorkBookSupportable;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
@ -12,12 +10,23 @@ import com.fr.design.menu.MenuKeySet;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.report.cell.painter.BiasTextPainter; import com.fr.report.cell.painter.BiasTextPainter;
import javax.swing.KeyStroke;
/** /**
* Bias * Bias
*/ */
public class BiasCellAction extends AbstractCellAction implements WorkBookSupportable { public class BiasCellAction extends AbstractCellAction implements WorkBookSupportable {
public BiasCellAction(ElementCasePane t) {
super(t); public BiasCellAction() {
initAction();
}
public BiasCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_SLOPE_LINE); this.setMenuKeySet(INSERT_SLOPE_LINE);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName()+ "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());

14
designer/src/com/fr/design/actions/insert/cell/ChartCellAction.java

@ -16,11 +16,19 @@ import javax.swing.*;
* . * .
*/ */
public class ChartCellAction extends AbstractCellAction implements WorkBookSupportable { public class ChartCellAction extends AbstractCellAction implements WorkBookSupportable {
public ChartCellAction(){
initAction();
}
public ChartCellAction(ElementCasePane t) { public ChartCellAction(ElementCasePane t) {
super(t); super(t);
this.setMenuKeySet(INSERT_CHART); initAction();
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); }
this.setMnemonic(getMenuKeySet().getMnemonic());
private void initAction() {
this.setMenuKeySet(INSERT_CHART);
this.setName(getMenuKeySet().getMenuKeySetName()+ "...");
this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/chart.png")); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/chart.png"));
} }

16
designer/src/com/fr/design/actions/insert/cell/DSColumnCellAction.java

@ -8,13 +8,21 @@ import com.fr.general.IOUtils;
import com.fr.report.cell.cellattr.core.group.DSColumn; import com.fr.report.cell.cellattr.core.group.DSColumn;
public class DSColumnCellAction extends AbstractCellAction implements WorkBookSupportable { public class DSColumnCellAction extends AbstractCellAction implements WorkBookSupportable {
public DSColumnCellAction(ElementCasePane t) { public DSColumnCellAction() {
super(t); initAction();
}
public DSColumnCellAction(ElementCasePane t) {
super(t);
initAction();
this.setSearchText(new DSColumnPane());
}
private void initAction() {
this.setMenuKeySet(KeySetUtils.INSERT_DATA_COLUMN); this.setMenuKeySet(KeySetUtils.INSERT_DATA_COLUMN);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_insert/bindColumn.png")); this.setSmallIcon(IOUtils.readIcon("/com/fr/design/images/m_insert/bindColumn.png"));
this.setSearchText(new DSColumnPane());
} }
@Override @Override

16
designer/src/com/fr/design/actions/insert/cell/FormulaCellAction.java

@ -13,10 +13,18 @@ import com.fr.general.Inter;
import javax.swing.*; import javax.swing.*;
public class FormulaCellAction extends AbstractCellAction implements WorkBookSupportable { public class FormulaCellAction extends AbstractCellAction implements WorkBookSupportable {
public FormulaCellAction(ElementCasePane t) { public FormulaCellAction() {
super(t); initAction();
}
public FormulaCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_FORMULA); this.setMenuKeySet(INSERT_FORMULA);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/formula.png")); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/formula.png"));
} }
@ -39,7 +47,7 @@ public class FormulaCellAction extends AbstractCellAction implements WorkBookSup
}; };
@Override @Override
public Class getCellValueClass() { public Class getCellValueClass() {
return Formula.class; return Formula.class;
} }
} }

16
designer/src/com/fr/design/actions/insert/cell/GeneralCellAction.java

@ -15,10 +15,18 @@ import javax.swing.*;
* *
*/ */
public class GeneralCellAction extends AbstractCellAction implements WorkBookSupportable { public class GeneralCellAction extends AbstractCellAction implements WorkBookSupportable {
public GeneralCellAction(ElementCasePane t) { public GeneralCellAction() {
super(t); initAction();
}
public GeneralCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_TEXT); this.setMenuKeySet(INSERT_TEXT);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/text.png")); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/text.png"));
} }
@ -41,7 +49,7 @@ public class GeneralCellAction extends AbstractCellAction implements WorkBookSup
}; };
@Override @Override
public Class getCellValueClass() { public Class getCellValueClass() {
return String.class; return String.class;
} }
} }

16
designer/src/com/fr/design/actions/insert/cell/ImageCellAction.java

@ -16,10 +16,18 @@ import java.awt.*;
* Image * Image
*/ */
public class ImageCellAction extends AbstractCellAction implements WorkBookSupportable { public class ImageCellAction extends AbstractCellAction implements WorkBookSupportable {
public ImageCellAction(ElementCasePane t) { public ImageCellAction() {
super(t); initAction();
}
public ImageCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_IMAGE); this.setMenuKeySet(INSERT_IMAGE);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/image.png")); this.setSmallIcon(BaseUtils.readIcon("/com/fr/design/images/m_insert/image.png"));
} }
@ -42,7 +50,7 @@ public class ImageCellAction extends AbstractCellAction implements WorkBookSuppo
}; };
@Override @Override
public Class getCellValueClass() { public Class getCellValueClass() {
return Image.class; return Image.class;
} }
} }

93
designer/src/com/fr/design/actions/insert/cell/RichTextCellAction.java

@ -1,7 +1,5 @@
package com.fr.design.actions.insert.cell; package com.fr.design.actions.insert.cell;
import javax.swing.KeyStroke;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.design.actions.core.WorkBookSupportable; import com.fr.design.actions.core.WorkBookSupportable;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
@ -10,53 +8,64 @@ import com.fr.general.ComparatorUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.report.cell.cellattr.core.RichText; import com.fr.report.cell.cellattr.core.RichText;
import javax.swing.KeyStroke;
public class RichTextCellAction extends AbstractCellAction implements WorkBookSupportable { public class RichTextCellAction extends AbstractCellAction implements WorkBookSupportable {
public RichTextCellAction(ElementCasePane t) { public RichTextCellAction() {
super(t); initAction();
}
public RichTextCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_RICHTEXT); this.setMenuKeySet(INSERT_RICHTEXT);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon( this.setSmallIcon(BaseUtils.readIcon(
"/com/fr/design/images/m_insert/richtext.png")); "/com/fr/design/images/m_insert/richtext.png"));
} }
@Override @Override
public Class getCellValueClass() { public Class getCellValueClass() {
return RichText.class; return RichText.class;
} }
/** /**
* equals 比较 * equals 比较
* @param object *
* @return true false * @param object
*/ * @return true false
@Override */
public boolean equals(Object object) { @Override
if (this == object){ public boolean equals(Object object) {
return true; if (this == object) {
} return true;
if (!(object instanceof RichTextCellAction)){ }
return false; if (!(object instanceof RichTextCellAction)) {
} return false;
}
return ComparatorUtils.equals(this.getEditingComponent(),((RichTextCellAction)object).getEditingComponent());
} return ComparatorUtils.equals(this.getEditingComponent(), ((RichTextCellAction) object).getEditingComponent());
}
private static final MenuKeySet INSERT_RICHTEXT = new MenuKeySet() { private static final MenuKeySet INSERT_RICHTEXT = new MenuKeySet() {
@Override @Override
public char getMnemonic() { public char getMnemonic() {
return 'R'; return 'R';
} }
@Override @Override
public String getMenuName() { public String getMenuName() {
return Inter.getLocText("FR-Designer_RichText"); return Inter.getLocText("FR-Designer_RichText");
} }
@Override @Override
public KeyStroke getKeyStroke() { public KeyStroke getKeyStroke() {
return null; return null;
} }
}; };
} }

99
designer/src/com/fr/design/actions/insert/cell/SubReportCellAction.java

@ -1,7 +1,5 @@
package com.fr.design.actions.insert.cell; package com.fr.design.actions.insert.cell;
import javax.swing.KeyStroke;
import com.fr.base.BaseUtils; import com.fr.base.BaseUtils;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.menu.MenuKeySet; import com.fr.design.menu.MenuKeySet;
@ -9,54 +7,65 @@ import com.fr.general.ComparatorUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.report.cell.cellattr.core.SubReport; import com.fr.report.cell.cellattr.core.SubReport;
import javax.swing.KeyStroke;
public class SubReportCellAction extends AbstractCellAction { public class SubReportCellAction extends AbstractCellAction {
public SubReportCellAction(ElementCasePane t) { public SubReportCellAction() {
super(t); initAction();
}
public SubReportCellAction(ElementCasePane t) {
super(t);
initAction();
}
private void initAction() {
this.setMenuKeySet(INSERT_SUB_REPORT); this.setMenuKeySet(INSERT_SUB_REPORT);
this.setName(getMenuKeySet().getMenuKeySetName()+ "..."); this.setName(getMenuKeySet().getMenuKeySetName() + "...");
this.setMnemonic(getMenuKeySet().getMnemonic()); this.setMnemonic(getMenuKeySet().getMnemonic());
this.setSmallIcon(BaseUtils.readIcon( this.setSmallIcon(BaseUtils.readIcon(
"/com/fr/design/images/m_insert/subReport.png")); "/com/fr/design/images/m_insert/subReport.png"));
} }
public static final MenuKeySet INSERT_SUB_REPORT = new MenuKeySet() { public static final MenuKeySet INSERT_SUB_REPORT = new MenuKeySet() {
@Override @Override
public char getMnemonic() { public char getMnemonic() {
return 'S'; return 'S';
} }
@Override @Override
public String getMenuName() { public String getMenuName() {
return Inter.getLocText("M_Insert-Sub_Report"); return Inter.getLocText("M_Insert-Sub_Report");
} }
@Override @Override
public KeyStroke getKeyStroke() { public KeyStroke getKeyStroke() {
return null; return null;
} }
}; };
/** /**
* equals 比较 * equals 比较
* @param object *
* @return true false * @param object
*/ * @return true false
@Override */
public boolean equals(Object object) { @Override
if (this == object){ public boolean equals(Object object) {
return true; if (this == object) {
} return true;
if (!(object instanceof SubReportCellAction)){ }
return false; if (!(object instanceof SubReportCellAction)) {
} return false;
}
return ComparatorUtils.equals(this.getEditingComponent(),((SubReportCellAction)object).getEditingComponent());
} return ComparatorUtils.equals(this.getEditingComponent(), ((SubReportCellAction) object).getEditingComponent());
}
@Override
public Class getCellValueClass() { @Override
return SubReport.class; public Class getCellValueClass() {
} return SubReport.class;
}
} }

184
designer/src/com/fr/design/widget/ui/IframeEditorDefinePane.java

@ -1,17 +1,13 @@
package com.fr.design.widget.ui; package com.fr.design.widget.ui;
import java.awt.*;
import java.util.List;
import javax.swing.BorderFactory;
import com.fr.design.constants.LayoutConstants; import com.fr.design.constants.LayoutConstants;
import com.fr.design.dialog.DialogActionListener;
import com.fr.design.dialog.UIDialog;
import com.fr.design.foldablepane.UIExpandablePane; import com.fr.design.foldablepane.UIExpandablePane;
import com.fr.design.gui.ilable.UILabel;
import javax.swing.JPanel;
import com.fr.design.gui.frpane.ReportletParameterViewPane; import com.fr.design.gui.frpane.ReportletParameterViewPane;
import com.fr.design.gui.ibutton.UIButton;
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.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
@ -20,68 +16,114 @@ import com.fr.form.ui.IframeEditor;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.stable.ParameterProvider; import com.fr.stable.ParameterProvider;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
public class IframeEditorDefinePane extends AbstractDataModify<IframeEditor> { public class IframeEditorDefinePane extends AbstractDataModify<IframeEditor> {
private UITextField srcTextField;
private ReportletParameterViewPane parameterViewPane; private static final int P_W = 610;
private UICheckBox horizontalCheck; private static final int P_H = 580;
private UICheckBox verticalCheck; private UITextField srcTextField;
private ReportletParameterViewPane parameterViewPane;
public IframeEditorDefinePane() { private UICheckBox horizontalCheck;
this.initComponents(); private UICheckBox verticalCheck;
} private UIButton parameterViewPaneButton;
private List<ParameterProvider> list;
private void initComponents() {
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); public IframeEditorDefinePane() {
JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane(); this.initComponents();
contentPane.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0)); }
JPanel attr = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
attr.add(horizontalCheck = new UICheckBox(Inter.getLocText("Preference-Horizontal_Scroll_Bar_Visible"))); private void initComponents() {
attr.add(verticalCheck = new UICheckBox(Inter.getLocText("Preference-Vertical_Scroll_Bar_Visible"))); this.setLayout(FRGUIPaneFactory.createBorderLayout());
contentPane.add(attr); this.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
double p = TableLayout.PREFERRED; JPanel contentPane = FRGUIPaneFactory.createY_AXISBoxInnerContainer_L_Pane();
double f = TableLayout.FILL; contentPane.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));
double[] rowSize = { p, p, p, p }; JPanel attr = FRGUIPaneFactory.createNormalFlowInnerContainer_M_Pane();
double[] columnSize = { p, f }; attr.add(horizontalCheck = new UICheckBox(Inter.getLocText("Preference-Horizontal_Scroll_Bar_Visible")));
attr.add(verticalCheck = new UICheckBox(Inter.getLocText("Preference-Vertical_Scroll_Bar_Visible")));
java.awt.Component[][] coms = { contentPane.add(attr);
{ horizontalCheck, null }, double p = TableLayout.PREFERRED;
{ verticalCheck, null }, double f = TableLayout.FILL;
{ new UILabel(Inter.getLocText("Form-Url") + ":"), srcTextField = new UITextField() }, double[] rowSize = {p, p, p, p};
{ new UILabel(Inter.getLocText("Parameter") + ":"), parameterViewPane = new ReportletParameterViewPane() } }; double[] columnSize = {p, f};
int[][] rowCount = {{1, 1},{1, 1},{1, 1}, {1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(coms, rowSize, columnSize, rowCount, LayoutConstants.VGAP_SMALL, 5); parameterViewPaneButton = new UIButton(Inter.getLocText("FR-Designer_Edit"));
parameterViewPaneButton.addActionListener(parameterListener);
parameterViewPane = new ReportletParameterViewPane();
contentPane.add(panel);
java.awt.Component[][] coms = {
UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"), 280, 20, contentPane); {horizontalCheck, null},
this.add(uiExpandablePane, BorderLayout.NORTH); {verticalCheck, null},
{new UILabel(Inter.getLocText("Form-Url")), srcTextField = new UITextField()},
} {new UILabel(Inter.getLocText("FR-Designer_Parameters")), parameterViewPaneButton}};
int[][] rowCount = {{1, 1}, {1, 1}, {1, 1}, {1, 1}};
JPanel panel = TableLayoutHelper.createGapTableLayoutPane(coms, rowSize, columnSize, rowCount, 45, LayoutConstants.VGAP_LARGE);
@Override
protected String title4PopupWindow() {
return "iframe"; contentPane.add(panel);
}
UIExpandablePane uiExpandablePane = new UIExpandablePane(Inter.getLocText("FR-Designer_Advanced"), 280, 24, contentPane);
@Override this.add(uiExpandablePane, BorderLayout.NORTH);
public void populateBean(IframeEditor e) {
srcTextField.setText(e.getSrc()); }
parameterViewPane.populate(e.getParameters());
this.horizontalCheck.setSelected(e.isOverflowx()); ActionListener parameterListener = new ActionListener() {
this.verticalCheck.setSelected(e.isOverflowy()); @Override
} public void actionPerformed(ActionEvent e) {
List<ParameterProvider> paraList = parameterViewPane.update();
@Override list = new ArrayList<ParameterProvider>();
public IframeEditor updateBean() { ParameterProvider pr = null;
IframeEditor ob = new IframeEditor(); for (ParameterProvider parameterProvider : paraList) {
ob.setSrc(srcTextField.getText()); try {
List<ParameterProvider> parameterList = parameterViewPane.update(); pr = (ParameterProvider) parameterProvider.clone();
ob.setParameters(parameterList.toArray(new ParameterProvider[parameterList.size()])); } catch (CloneNotSupportedException e1) {
ob.setOverflowx(this.horizontalCheck.isSelected()); e1.printStackTrace();
ob.setOverflowy(this.verticalCheck.isSelected()); }
return ob; list.add(pr);
} }
UIDialog dialog = parameterViewPane.showUnsizedWindow(SwingUtilities.getWindowAncestor(new JPanel()), new DialogActionListener() {
@Override
public void doOk() {
}
@Override
public void doCancel() {
parameterViewPane.update(list);
}
});
dialog.setSize(P_W, P_H);
dialog.setVisible(true);
}
};
@Override
protected String title4PopupWindow() {
return "iframe";
}
@Override
public void populateBean(IframeEditor e) {
srcTextField.setText(e.getSrc());
parameterViewPane.populate(e.getParameters());
this.horizontalCheck.setSelected(e.isOverflowx());
this.verticalCheck.setSelected(e.isOverflowy());
}
@Override
public IframeEditor updateBean() {
IframeEditor ob = new IframeEditor();
ob.setSrc(srcTextField.getText());
List<ParameterProvider> parameterList = parameterViewPane.update();
ob.setParameters(parameterList.toArray(new ParameterProvider[parameterList.size()]));
ob.setOverflowx(this.horizontalCheck.isSelected());
ob.setOverflowy(this.verticalCheck.isSelected());
return ob;
}
} }

79
designer/src/com/fr/quickeditor/CellQuickEditor.java

@ -1,27 +1,29 @@
package com.fr.quickeditor; package com.fr.quickeditor;
import com.fr.design.actions.utils.DeprecatedActionManager; import com.fr.design.actions.UpdateAction;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.actions.core.ActionFactory;
import com.fr.design.gui.icombobox.UIComboBox;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.layout.TableLayout; import com.fr.design.layout.TableLayout;
import com.fr.design.layout.TableLayoutHelper; import com.fr.design.layout.TableLayoutHelper;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.menu.ShortCut;
import com.fr.design.selection.QuickEditor; import com.fr.design.selection.QuickEditor;
import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.IOUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.CellSelection;
import com.fr.report.cell.TemplateCellElement; import com.fr.report.cell.TemplateCellElement;
import com.fr.stable.ColumnRow; import com.fr.stable.ColumnRow;
import javax.swing.*; import javax.swing.*;
import javax.swing.event.PopupMenuEvent;
import javax.swing.event.PopupMenuListener;
import java.awt.*; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter; import java.util.ArrayList;
import java.awt.event.MouseEvent;
/** /**
* @author zhou, yaoh.wu * @author zhou, yaoh.wu
@ -32,6 +34,10 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
protected UITextField columnRowTextField; protected UITextField columnRowTextField;
protected TemplateCellElement cellElement; protected TemplateCellElement cellElement;
protected UIComboBox comboBox;
private UpdateAction[] cellInsertActions;
private MenuKeySet[] cellInsertActionNames;
private int selectedIndex;
public CellQuickEditor() { public CellQuickEditor() {
double p = TableLayout.PREFERRED; double p = TableLayout.PREFERRED;
@ -58,7 +64,7 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
cellLabel.setPreferredSize(new Dimension(60, 20)); cellLabel.setPreferredSize(new Dimension(60, 20));
UILabel insertContentLabel = new UILabel(Inter.getLocText("HF-Insert_Content")); UILabel insertContentLabel = new UILabel(Inter.getLocText("HF-Insert_Content"));
insertContentLabel.setPreferredSize(new Dimension(60, 20)); insertContentLabel.setPreferredSize(new Dimension(60, 20));
UIButton cellElementEditButton = initCellElementEditButton(); UIComboBox cellElementEditButton = initCellElementEditComboBox();
Component[][] components = new Component[][]{ Component[][] components = new Component[][]{
new Component[]{cellLabel, columnRowTextField = initColumnRowTextField()}, new Component[]{cellLabel, columnRowTextField = initColumnRowTextField()},
new Component[]{insertContentLabel, cellElementEditButton}, new Component[]{insertContentLabel, cellElementEditButton},
@ -71,20 +77,57 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
/** /**
* 初始化添加按钮 * 初始化添加按钮
* TODO 9.0 换成下拉菜单后原来的快捷键不好处理先跳过
* *
* @return UIButton * @return UIButton
*/ */
private UIButton initCellElementEditButton() { private UIComboBox initCellElementEditComboBox() {
final UIButton cellElementEditButton = new UIButton(IOUtils.readIcon("/com/fr/design/images/buttonicon/add.png")); final String[] items = getDefaultComboBoxItems();
cellElementEditButton.addMouseListener(new MouseAdapter() { comboBox = new UIComboBox(items);
final Object comboBoxSelected = getComboBoxSelected();
if (comboBoxSelected != null) {
comboBox.setSelectedItem(((ShortCut) comboBoxSelected).getMenuKeySet().getMenuKeySetName());
} else {
comboBox.setSelectedIndex(1);
}
comboBox.addPopupMenuListener(new PopupMenuListener() {
@Override
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
if (cellInsertActions == null) {
cellInsertActions = ActionFactory.createCellInsertAction(ElementCasePane.class, tc);
}
// 这边重新获取是因为要根据JTemplate做一个过滤
ArrayList<String> arrayList = new ArrayList<String>();
for (UpdateAction action : cellInsertActions) {
arrayList.add(action.getMenuKeySet().getMenuKeySetName());
}
comboBox.setModel(new DefaultComboBoxModel(arrayList.toArray(new String[arrayList.size()])));
}
@Override
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
}
@Override @Override
public void mousePressed(MouseEvent evt) { public void popupMenuCanceled(PopupMenuEvent e) {
GUICoreUtils.showPopMenuWithParentWidth(DeprecatedActionManager.getCellMenu(tc).createJPopupMenu(), cellElementEditButton, 0, cellElementEditButton.getY() - 6);
} }
}); });
return cellElementEditButton; comboBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectedIndex = comboBox.getSelectedIndex();
cellInsertActions[selectedIndex].actionPerformed(e);
}
});
return comboBox;
}
private String[] getDefaultComboBoxItems() {
cellInsertActionNames = ActionFactory.createCellInsertActionName();
ArrayList<String> names = new ArrayList<>();
for (MenuKeySet cellInsertActionName : cellInsertActionNames) {
names.add(cellInsertActionName.getMenuKeySetName());
}
return names.toArray(new String[names.size()]);
} }
/** /**
@ -130,6 +173,14 @@ public abstract class CellQuickEditor extends QuickEditor<ElementCasePane> {
*/ */
public abstract JComponent createCenterBody(); public abstract JComponent createCenterBody();
/**
* 初始化下拉框中的类型
*
* @return JComponent 待显示的详细信息面板
*/
public abstract Object getComboBoxSelected();
/** /**
* 刷新 * 刷新
*/ */

7
designer/src/com/fr/quickeditor/cellquick/CellBiasTextPainterEditor.java

@ -1,5 +1,7 @@
package com.fr.quickeditor.cellquick; package com.fr.quickeditor.cellquick;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.BiasCellAction;
import com.fr.design.cell.editor.BiasTextPainterCellEditor.BiasTextPainterPane; import com.fr.design.cell.editor.BiasTextPainterCellEditor.BiasTextPainterPane;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
@ -36,6 +38,11 @@ public class CellBiasTextPainterEditor extends CellQuickEditor {
return content; return content;
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(BiasCellAction.class);
}
private void showEditingDialog() { private void showEditingDialog() {
final BiasTextPainter oldbiasTextPainter = (BiasTextPainter) cellElement.getValue(); final BiasTextPainter oldbiasTextPainter = (BiasTextPainter) cellElement.getValue();
final BiasTextPainterPane biasTextPainterPane = new BiasTextPainterPane(); final BiasTextPainterPane biasTextPainterPane = new BiasTextPainterPane();

7
designer/src/com/fr/quickeditor/cellquick/CellDSColumnEditor.java

@ -2,6 +2,8 @@ package com.fr.quickeditor.cellquick;
import com.fr.base.Formula; import com.fr.base.Formula;
import com.fr.design.actions.columnrow.DSColumnConditionAction; import com.fr.design.actions.columnrow.DSColumnConditionAction;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.DSColumnCellAction;
import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.DesignTableDataManager;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.dscolumn.DSColumnAdvancedPane; import com.fr.design.dscolumn.DSColumnAdvancedPane;
@ -981,4 +983,9 @@ public class CellDSColumnEditor extends CellQuickEditor {
} }
} }
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(DSColumnCellAction.class);
}
} }

7
designer/src/com/fr/quickeditor/cellquick/CellFormulaQuickEditor.java

@ -3,6 +3,8 @@ package com.fr.quickeditor.cellquick;
import com.fr.base.Formula; import com.fr.base.Formula;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.base.TextFormat; import com.fr.base.TextFormat;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.FormulaCellAction;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.grid.selection.CellSelection; import com.fr.grid.selection.CellSelection;
import com.fr.quickeditor.CellQuickEditor; import com.fr.quickeditor.CellQuickEditor;
@ -77,6 +79,11 @@ public class CellFormulaQuickEditor extends CellQuickEditor {
return content; return content;
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(FormulaCellAction.class);
}
private void changeReportPaneCell(String tmpText) { private void changeReportPaneCell(String tmpText) {
isEditing = true; isEditing = true;

6
designer/src/com/fr/quickeditor/cellquick/CellImageQuickEditor.java

@ -1,6 +1,8 @@
package com.fr.quickeditor.cellquick; package com.fr.quickeditor.cellquick;
import com.fr.base.Style; import com.fr.base.Style;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.ImageCellAction;
import com.fr.design.dialog.DialogActionAdapter; import com.fr.design.dialog.DialogActionAdapter;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
@ -68,4 +70,8 @@ public class CellImageQuickEditor extends CellQuickEditor {
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(ImageCellAction.class);
}
} }

6
designer/src/com/fr/quickeditor/cellquick/CellRichTextEditor.java

@ -1,5 +1,6 @@
package com.fr.quickeditor.cellquick; package com.fr.quickeditor.cellquick;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.RichTextCellAction; import com.fr.design.actions.insert.cell.RichTextCellAction;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.general.Inter; import com.fr.general.Inter;
@ -32,6 +33,11 @@ public class CellRichTextEditor extends CellQuickEditor {
return content; return content;
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(RichTextCellAction.class);
}
@Override @Override
protected void refreshDetails() { protected void refreshDetails() {
RichTextCellAction subReportCellAction = new RichTextCellAction(tc); RichTextCellAction subReportCellAction = new RichTextCellAction(tc);

8
designer/src/com/fr/quickeditor/cellquick/CellStringQuickEditor.java

@ -22,6 +22,9 @@ import java.awt.event.KeyEvent;
* *
*/ */
public class CellStringQuickEditor extends CellQuickEditor { public class CellStringQuickEditor extends CellQuickEditor {
//instance
private static CellStringQuickEditor THIS;
//文本域 //文本域
//TODO 9.0 文本域要根据具体文本数量自适应大小,比较难搞,先跳过。 //TODO 9.0 文本域要根据具体文本数量自适应大小,比较难搞,先跳过。
private UITextField stringTextField; private UITextField stringTextField;
@ -148,4 +151,9 @@ public class CellStringQuickEditor extends CellQuickEditor {
stringTextField.getDocument().addDocumentListener(documentListener); stringTextField.getDocument().addDocumentListener(documentListener);
} }
@Override
public Object getComboBoxSelected() {
return null;
}
} }

6
designer/src/com/fr/quickeditor/cellquick/CellSubReportEditor.java

@ -1,5 +1,6 @@
package com.fr.quickeditor.cellquick; package com.fr.quickeditor.cellquick;
import com.fr.design.actions.core.ActionFactory;
import com.fr.design.actions.insert.cell.SubReportCellAction; import com.fr.design.actions.insert.cell.SubReportCellAction;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.general.Inter; import com.fr.general.Inter;
@ -40,4 +41,9 @@ public class CellSubReportEditor extends CellQuickEditor {
subReportButton.setAction(subReportCellAction); subReportButton.setAction(subReportCellAction);
} }
@Override
public Object getComboBoxSelected() {
return ActionFactory.createAction(SubReportCellAction.class);
}
} }

42
designer_base/src/com/fr/design/actions/TemplateComponentAction.java

@ -4,30 +4,34 @@ package com.fr.design.actions;
import com.fr.design.designer.TargetComponent; import com.fr.design.designer.TargetComponent;
public abstract class TemplateComponentAction<T extends TargetComponent> extends UndoableAction implements TemplateComponentActionInterface<T> { public abstract class TemplateComponentAction<T extends TargetComponent> extends UndoableAction implements TemplateComponentActionInterface<T> {
private T t; private T t;
protected TemplateComponentAction(T t) {
this.t = t; protected TemplateComponentAction() {
} }
protected void setEditingComponent(T t) { protected TemplateComponentAction(T t) {
this.t = t; this.t = t;
} }
@Override protected void setEditingComponent(T t) {
public T getEditingComponent() { this.t = t;
return t; }
}
@Override
@Override public T getEditingComponent() {
public void prepare4Undo() { return t;
this.getEditingComponent().fireTargetModified(); }
@Override
public void prepare4Undo() {
this.getEditingComponent().fireTargetModified();
T component = getEditingComponent(); T component = getEditingComponent();
if (component == null) { if (component == null) {
return; return;
} }
component.requestFocus(); component.requestFocus();
} }
/** /**
* update enable * update enable
@ -35,6 +39,6 @@ public abstract class TemplateComponentAction<T extends TargetComponent> extends
*/ */
@Override @Override
public void update() { public void update() {
this.setEnabled(this.getEditingComponent() != null); this.setEnabled(this.getEditingComponent() != null);
} }
} }

34
designer_base/src/com/fr/design/actions/core/ActionFactory.java

@ -5,6 +5,7 @@ import com.fr.base.Utils;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.file.HistoryTemplateListPane; import com.fr.design.file.HistoryTemplateListPane;
import com.fr.design.mainframe.JTemplate; import com.fr.design.mainframe.JTemplate;
import com.fr.design.menu.MenuKeySet;
import com.fr.design.selection.QuickEditor; import com.fr.design.selection.QuickEditor;
import javax.swing.*; import javax.swing.*;
@ -132,6 +133,17 @@ public class ActionFactory {
return createEditor(clazz, cellEditor); return createEditor(clazz, cellEditor);
} }
public static UpdateAction createAction(Class clazz) {
try {
Constructor<? extends UpdateAction> c = clazz.getDeclaredConstructor();
c.setAccessible(true);
return c.newInstance();
} catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e);
}
return null;
}
/** /**
* peter:从Action来产生ToolTipText. * peter:从Action来产生ToolTipText.
* *
@ -190,7 +202,7 @@ public class ActionFactory {
} }
if (jTemplate.acceptToolbarItem(clazz)) { if (jTemplate.acceptToolbarItem(clazz)) {
try { try {
Constructor<? extends UpdateAction> c = (Constructor<? extends UpdateAction>)clazz.getConstructor(cls); Constructor<? extends UpdateAction> c = (Constructor<? extends UpdateAction>) clazz.getConstructor(cls);
actions.add(c.newInstance(obj)); actions.add(c.newInstance(obj));
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);
@ -200,6 +212,24 @@ public class ActionFactory {
return actions.toArray(new UpdateAction[actions.size()]); return actions.toArray(new UpdateAction[actions.size()]);
} }
public static MenuKeySet[] createCellInsertActionName() {
List<MenuKeySet> actionNames = new ArrayList<>();
for (Class<?> clazz : actionClasses) {
if (clazz == null) {
continue;
}
try {
Constructor<? extends UpdateAction> c = (Constructor<? extends UpdateAction>) clazz.getConstructor();
actionNames.add(c.newInstance().getMenuKeySet());
} catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e);
}
}
return actionNames.toArray(new MenuKeySet[actionNames.size()]);
}
/** /**
* 登记悬浮元素插入类型 * 登记悬浮元素插入类型
* *
@ -225,7 +255,7 @@ public class ActionFactory {
continue; continue;
} }
try { try {
Constructor<? extends UpdateAction> c = (Constructor<? extends UpdateAction>)clazz.getConstructor(cls); Constructor<? extends UpdateAction> c = (Constructor<? extends UpdateAction>) clazz.getConstructor(cls);
actions.add(c.newInstance(obj)); actions.add(c.newInstance(obj));
} catch (Exception e) { } catch (Exception e) {
FRContext.getLogger().error(e.getMessage(), e); FRContext.getLogger().error(e.getMessage(), e);

183
designer_base/src/com/fr/design/gui/frpane/ReportletParameterViewPane.java

@ -23,115 +23,124 @@ import java.util.List;
/** /**
* Defin hyperlink. * Defin hyperlink.
* in fact,this is a TablEditorPane * in fact,this is a TablEditorPane
*
* @editor zhou * @editor zhou
* @since 2012-3-23下午3:48:10 * @since 2012-3-23下午3:48:10
*/ */
public class ReportletParameterViewPane extends BasicPane { public class ReportletParameterViewPane extends BasicPane {
private UITableEditorPane<ParameterProvider> editorPane; private UITableEditorPane<ParameterProvider> editorPane;
public ReportletParameterViewPane() { public ReportletParameterViewPane() {
this(null, ParameterTableModel.NO_CHART_USE); this(null, ParameterTableModel.NO_CHART_USE);
} }
// kunsnat: 控制是否用Chart的热点链接actions // kunsnat: 控制是否用Chart的热点链接actions
public ReportletParameterViewPane(int useParaType) { public ReportletParameterViewPane(int useParaType) {
this(null, useParaType); this(null, useParaType);
} }
public ReportletParameterViewPane(UITableEditAction[] actions, int useParaType) { public ReportletParameterViewPane(UITableEditAction[] actions, int useParaType) {
this(actions, useParaType, ValueEditorPaneFactory.createVallueEditorPaneWithUseType(useParaType), this(actions, useParaType, ValueEditorPaneFactory.createVallueEditorPaneWithUseType(useParaType),
ValueEditorPaneFactory.createVallueEditorPaneWithUseType(useParaType)); ValueEditorPaneFactory.createVallueEditorPaneWithUseType(useParaType));
} }
public ReportletParameterViewPane(int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) { public ReportletParameterViewPane(int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) {
this(null, useParaType, valueEditorPane, valueRenderPane); this(null, useParaType, valueEditorPane, valueRenderPane);
} }
public ReportletParameterViewPane(UITableEditAction[] actions, int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) { public ReportletParameterViewPane(UITableEditAction[] actions, int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) {
this.initComponent(actions, useParaType, valueEditorPane, valueRenderPane); this.initComponent(actions, useParaType, valueEditorPane, valueRenderPane);
} }
/** /**
* 初始化组件 * 初始化组件
* @param actions Chart的热点链接actions *
* @param useParaType 类型 * @param actions Chart的热点链接actions
* @param useParaType 类型
*/ */
public void initComponent(final UITableEditAction[] actions, int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) { public void initComponent(final UITableEditAction[] actions, int useParaType, ValueEditorPane valueEditorPane, ValueEditorPane valueRenderPane) {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
if (useParaType != ParameterTableModel.NO_CHART_USE) { if (useParaType != ParameterTableModel.NO_CHART_USE) {
ParameterTableModel model = new ParameterTableModel(valueEditorPane, valueRenderPane, this) { ParameterTableModel model = new ParameterTableModel(valueEditorPane, valueRenderPane, this) {
@Override @Override
public UITableEditAction[] createAction() { public UITableEditAction[] createAction() {
UITableEditAction[] tableEditActions = new UITableEditAction[] { new AddChartParameterAction(), new DeleteAction(this.component), UITableEditAction[] tableEditActions = new UITableEditAction[]{new AddChartParameterAction(), new DeleteAction(this.component),
new MoveUpAction(), new MoveDownAction() }; new MoveUpAction(), new MoveDownAction()};
return (UITableEditAction[]) ArrayUtils.addAll(tableEditActions, actions); return (UITableEditAction[]) ArrayUtils.addAll(tableEditActions, actions);
} }
}; };
editorPane = new UITableEditorPane<ParameterProvider>(model); editorPane = new UITableEditorPane<ParameterProvider>(model);
} else { } else {
editorPane = new UITableEditorPane<ParameterProvider>(new ParameterTableModel() { editorPane = new UITableEditorPane<ParameterProvider>(new ParameterTableModel() {
@Override @Override
public UITableEditAction[] createAction() { public UITableEditAction[] createAction() {
return (UITableEditAction[]) ArrayUtils.addAll(super.createAction(), actions); return (UITableEditAction[]) ArrayUtils.addAll(super.createAction(), actions);
} }
}); });
} }
this.add(editorPane, BorderLayout.CENTER); this.add(editorPane, BorderLayout.CENTER);
} }
/** /**
* 增加事件监听 * 增加事件监听
* @param l 加的东东 *
* @param l 加的东东
*/ */
public void addTableEditorListener(TableModelListener l) { public void addTableEditorListener(TableModelListener l) {
editorPane.addTableListener(l); editorPane.addTableListener(l);
} }
@Override @Override
protected String title4PopupWindow() { protected String title4PopupWindow() {
return Inter.getLocText("Parameters"); return Inter.getLocText("Parameters");
} }
public void populate(ParameterProvider[] parameters) { public void populate(ParameterProvider[] parameters) {
if (parameters == null) { if (parameters == null) {
return; return;
} }
editorPane.populate(parameters); editorPane.populate(parameters);
} }
public void populate(KV[] kv) { public void populate(KV[] kv) {
if (kv == null) { if (kv == null) {
return; return;
} }
Parameter[] parameters = new Parameter[kv.length]; Parameter[] parameters = new Parameter[kv.length];
for (int i = 0; i < kv.length; i++) { for (int i = 0; i < kv.length; i++) {
parameters[i] = new Parameter(kv[i].getKey(), kv[i].getValue()); parameters[i] = new Parameter(kv[i].getKey(), kv[i].getValue());
} }
this.populate(parameters); this.populate(parameters);
} }
public List<ParameterProvider> update() { public List<ParameterProvider> update() {
return editorPane.update(); return editorPane.update();
} }
public void update(List list) {
editorPane.update(list);
}
/** /**
* 更新 * 更新
* @return 数组 *
* @return 数组
*/ */
public KV[] updateKV() { public KV[] updateKV() {
List<ParameterProvider> list = this.update(); List<ParameterProvider> list = this.update();
int length = list.size(); int length = list.size();
KV[] kv = new KV[length]; KV[] kv = new KV[length];
for (int i = 0; i < length; i++) { for (int i = 0; i < length; i++) {
kv[i] = new KV(); kv[i] = new KV();
kv[i].setKey(list.get(i).getName()); kv[i].setKey(list.get(i).getName());
kv[i].setValue( list.get(i).getValue()); kv[i].setValue(list.get(i).getValue());
} }
return kv; return kv;
} }
} }

105
designer_base/src/com/fr/design/gui/itableeditorpane/UITableEditorPane.java

@ -1,12 +1,12 @@
package com.fr.design.gui.itableeditorpane; package com.fr.design.gui.itableeditorpane;
import com.fr.design.constants.UIConstants;
import com.fr.design.border.UIRoundedBorder; import com.fr.design.border.UIRoundedBorder;
import com.fr.design.constants.UIConstants;
import com.fr.design.dialog.BasicPane;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.icontainer.UIScrollPane; import com.fr.design.gui.icontainer.UIScrollPane;
import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.ilable.UILabel;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.dialog.BasicPane;
import com.fr.general.Inter; import com.fr.general.Inter;
import javax.swing.*; import javax.swing.*;
@ -16,19 +16,19 @@ import java.util.List;
/** /**
* 表格编辑面板,一般是两列.- 用泛型实现用的时候请定义T.model里面的T要一样 * 表格编辑面板,一般是两列.- 用泛型实现用的时候请定义T.model里面的T要一样
* *
* @editor zhou * @editor zhou
* @since 2012-3-28下午3:06:30 * @since 2012-3-28下午3:06:30
*/ */
public class UITableEditorPane<T> extends BasicPane { public class UITableEditorPane<T> extends BasicPane {
/** /**
* *
*/ */
private static final long serialVersionUID = 6855793816972735815L; private static final long serialVersionUID = 6855793816972735815L;
private JTable editTable; private JTable editTable;
// 放置action 的按钮. // 放置action 的按钮.
private UITableModelAdapter<T> tableModel; private UITableModelAdapter<T> tableModel;
private String leftLabelName; private String leftLabelName;
private JPanel buttonPane; private JPanel buttonPane;
public UITableEditorPane(UITableModelAdapter<T> model) { public UITableEditorPane(UITableModelAdapter<T> model) {
@ -66,7 +66,7 @@ public class UITableEditorPane<T> extends BasicPane {
return tableModel; return tableModel;
} }
private void initbuttonPane(UITableEditAction[] action){ private void initbuttonPane(UITableEditAction[] action) {
buttonPane = new JPanel(); buttonPane = new JPanel();
if (action != null) { if (action != null) {
@ -88,54 +88,61 @@ public class UITableEditorPane<T> extends BasicPane {
/** /**
* 增加事件监听 * 增加事件监听
* @param l 加的东东 *
* @param l 加的东东
*/ */
public void addTableListener(TableModelListener l) { public void addTableListener(TableModelListener l) {
tableModel.addTableModelListener(l); tableModel.addTableModelListener(l);
} }
/** /**
* 移除事件监听 * 移除事件监听
* @param l 去的东东 *
* @param l 去的东东
*/ */
public void removeTableListener(TableModelListener l) { public void removeTableListener(TableModelListener l) {
tableModel.removeTableModelListener(l); tableModel.removeTableModelListener(l);
} }
@Override @Override
protected String title4PopupWindow() { protected String title4PopupWindow() {
return Inter.getLocText("TableData_Dynamic_Parameter_Setting"); return Inter.getLocText("TableData_Dynamic_Parameter_Setting");
} }
public void populate(T[] objs) { public void populate(T[] objs) {
tableModel.clear(); tableModel.clear();
if(objs==null){ if (objs == null) {
return; return;
} }
for (T obj : objs) { for (T obj : objs) {
tableModel.addRow(obj); tableModel.addRow(obj);
} }
this.tableModel.fireTableDataChanged(); this.tableModel.fireTableDataChanged();
if (objs.length > 0) { if (objs.length > 0) {
this.editTable.getSelectionModel().setSelectionInterval(0, 0); this.editTable.getSelectionModel().setSelectionInterval(0, 0);
} }
} }
// TODO:august这个最好还是返回数组 // TODO:august这个最好还是返回数组
public List<T> update() { public List<T> update() {
tableModel.stopCellEditing(); tableModel.stopCellEditing();
return tableModel.getList(); return tableModel.getList();
} }
public int getSelectedRow() { public void update(List list) {
return this.editTable.getSelectedRow(); tableModel.stopCellEditing();
} tableModel.setList(list);
}
public int getSelectedColumn() { public int getSelectedRow() {
return this.editTable.getSelectedColumn(); return this.editTable.getSelectedRow();
} }
public int getSelectedColumn() {
return this.editTable.getSelectedColumn();
}
public JPanel getbuttonPane(){ public JPanel getbuttonPane() {
return buttonPane; return buttonPane;
} }

BIN
designer_base/src/com/fr/design/images/arrow/arrow_down.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 278 B

BIN
designer_base/src/com/fr/design/images/arrow/arrow_up.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 311 B

BIN
designer_base/src/com/fr/design/images/buttonicon/add.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 160 B

BIN
designer_base/src/com/fr/design/images/buttonicon/add_press.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 306 B

BIN
designer_base/src/com/fr/design/images/buttonicon/addicon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 232 B

BIN
designer_base/src/com/fr/design/images/buttonicon/cube.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

After

Width:  |  Height:  |  Size: 500 B

BIN
designer_base/src/com/fr/design/images/buttonicon/editp.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

After

Width:  |  Height:  |  Size: 802 B

BIN
designer_base/src/com/fr/design/images/buttonicon/hiden.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
designer_base/src/com/fr/design/images/buttonicon/hidep.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
designer_base/src/com/fr/design/images/buttonicon/minus.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 121 B

After

Width:  |  Height:  |  Size: 148 B

BIN
designer_base/src/com/fr/design/images/buttonicon/newcpts.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 B

After

Width:  |  Height:  |  Size: 218 B

BIN
designer_base/src/com/fr/design/images/buttonicon/open.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 356 B

BIN
designer_base/src/com/fr/design/images/buttonicon/pageb24.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 736 B

BIN
designer_base/src/com/fr/design/images/buttonicon/pages.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 B

After

Width:  |  Height:  |  Size: 482 B

BIN
designer_base/src/com/fr/design/images/buttonicon/plus.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 172 B

BIN
designer_base/src/com/fr/design/images/buttonicon/redo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 B

After

Width:  |  Height:  |  Size: 421 B

BIN
designer_base/src/com/fr/design/images/buttonicon/refresh.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

After

Width:  |  Height:  |  Size: 530 B

BIN
designer_base/src/com/fr/design/images/buttonicon/run24.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 502 B

After

Width:  |  Height:  |  Size: 389 B

BIN
designer_base/src/com/fr/design/images/buttonicon/undo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 450 B

BIN
designer_base/src/com/fr/design/images/buttonicon/writeb24.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 975 B

After

Width:  |  Height:  |  Size: 972 B

BIN
designer_base/src/com/fr/design/images/buttonicon/writes.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 541 B

BIN
designer_base/src/com/fr/design/images/chart/ChartStyle.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

After

Width:  |  Height:  |  Size: 309 B

BIN
designer_base/src/com/fr/design/images/chart/ChartType.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 151 B

BIN
designer_base/src/com/fr/design/images/chart/InterAttr.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 555 B

BIN
designer_base/src/com/fr/design/images/control/addPopup.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 257 B

BIN
designer_base/src/com/fr/design/images/control/bar.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 99 B

BIN
designer_base/src/com/fr/design/images/control/copy.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

After

Width:  |  Height:  |  Size: 214 B

BIN
designer_base/src/com/fr/design/images/control/edit.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 388 B

After

Width:  |  Height:  |  Size: 399 B

BIN
designer_base/src/com/fr/design/images/control/remove.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 511 B

BIN
designer_base/src/com/fr/design/images/dashboard/files.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 238 B

BIN
designer_base/src/com/fr/design/images/data/bind/distanceconnect.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 728 B

After

Width:  |  Height:  |  Size: 650 B

BIN
designer_base/src/com/fr/design/images/data/bind/localconnect.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

After

Width:  |  Height:  |  Size: 303 B

BIN
designer_base/src/com/fr/design/images/data/dataDictionary.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 167 B

BIN
designer_base/src/com/fr/design/images/data/dataTable.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 254 B

BIN
designer_base/src/com/fr/design/images/data/dock/serverdatabase.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 452 B

After

Width:  |  Height:  |  Size: 428 B

BIN
designer_base/src/com/fr/design/images/data/multi.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 194 B

BIN
designer_base/src/com/fr/design/images/data/source/rename.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 433 B

BIN
designer_base/src/com/fr/design/images/file/fold.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 B

After

Width:  |  Height:  |  Size: 238 B

BIN
designer_base/src/com/fr/design/images/file/newfolder.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

After

Width:  |  Height:  |  Size: 293 B

BIN
designer_base/src/com/fr/design/images/form/toolbar/ec_frozen.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 B

After

Width:  |  Height:  |  Size: 184 B

BIN
designer_base/src/com/fr/design/images/gui/color/background.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 416 B

After

Width:  |  Height:  |  Size: 413 B

BIN
designer_base/src/com/fr/design/images/lookandfeel/ErrorIcon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 763 B

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
designer_base/src/com/fr/design/images/lookandfeel/InformationIcon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

After

Width:  |  Height:  |  Size: 721 B

BIN
designer_base/src/com/fr/design/images/lookandfeel/QuestionIcon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

After

Width:  |  Height:  |  Size: 831 B

BIN
designer_base/src/com/fr/design/images/lookandfeel/TreeFolderOpenedIcon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 356 B

BIN
designer_base/src/com/fr/design/images/lookandfeel/WarningIcon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
designer_base/src/com/fr/design/images/m_edit/copy.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 214 B

BIN
designer_base/src/com/fr/design/images/m_edit/cut.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 B

After

Width:  |  Height:  |  Size: 503 B

BIN
designer_base/src/com/fr/design/images/m_edit/formatBrush.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 428 B

BIN
designer_base/src/com/fr/design/images/m_edit/merge.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

After

Width:  |  Height:  |  Size: 277 B

BIN
designer_base/src/com/fr/design/images/m_edit/unmerge.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 B

After

Width:  |  Height:  |  Size: 166 B

BIN
designer_base/src/com/fr/design/images/m_file/formExport.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

After

Width:  |  Height:  |  Size: 198 B

BIN
designer_base/src/com/fr/design/images/m_file/pdf.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 383 B

BIN
designer_base/src/com/fr/design/images/m_file/preview.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

After

Width:  |  Height:  |  Size: 389 B

BIN
designer_base/src/com/fr/design/images/m_file/saveAs.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 186 B

BIN
designer_base/src/com/fr/design/images/m_file/switch.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 360 B

After

Width:  |  Height:  |  Size: 540 B

BIN
designer_base/src/com/fr/design/images/m_file/text.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 285 B

BIN
designer_base/src/com/fr/design/images/m_file/view_folder.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 208 B

BIN
designer_base/src/com/fr/design/images/m_file/word.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 391 B

After

Width:  |  Height:  |  Size: 474 B

BIN
designer_base/src/com/fr/design/images/m_format/cellstyle/bold.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 B

After

Width:  |  Height:  |  Size: 284 B

BIN
designer_base/src/com/fr/design/images/m_format/cellstyle/italic.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

After

Width:  |  Height:  |  Size: 221 B

BIN
designer_base/src/com/fr/design/images/m_format/cellstyle/otherset.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 453 B

BIN
designer_base/src/com/fr/design/images/m_format/cellstyle/underline.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 211 B

BIN
designer_base/src/com/fr/design/images/m_format/highlight.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 B

After

Width:  |  Height:  |  Size: 399 B

BIN
designer_base/src/com/fr/design/images/m_format/modified.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 363 B

BIN
designer_base/src/com/fr/design/images/m_help/demo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

After

Width:  |  Height:  |  Size: 207 B

BIN
designer_base/src/com/fr/design/images/m_help/feedback.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 326 B

BIN
designer_base/src/com/fr/design/images/m_help/help.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 183 B

BIN
designer_base/src/com/fr/design/images/m_help/product_forum.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

After

Width:  |  Height:  |  Size: 440 B

BIN
designer_base/src/com/fr/design/images/m_insert/cell.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 156 B

BIN
designer_base/src/com/fr/design/images/m_insert/chart.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 151 B

BIN
designer_base/src/com/fr/design/images/m_insert/insertColumn.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 263 B

BIN
designer_base/src/com/fr/design/images/m_report/background.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 399 B

BIN
designer_base/src/com/fr/design/images/m_report/close.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 641 B

BIN
designer_base/src/com/fr/design/images/m_report/close_over.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 632 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save