Browse Source

Merge remote-tracking branch 'origin/release/9.0' into release/9.0

master
mengao 7 years ago
parent
commit
feb7c4bbe4
  1. 1
      designer/src/com/fr/design/mainframe/ElementCasePane.java
  2. 307
      designer/src/com/fr/grid/Grid.java
  3. 4
      designer/src/com/fr/grid/GridHeader.java
  4. 3
      designer_base/src/com/fr/design/constants/UIConstants.java
  5. 3
      designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java
  6. 6
      designer_base/src/com/fr/design/editor/DoubleDeckValueEditorPane.java
  7. 12
      designer_base/src/com/fr/design/editor/ValueEditorPane.java
  8. 4
      designer_base/src/com/fr/design/editor/editor/FormulaEditor.java
  9. 2
      designer_base/src/com/fr/design/file/MutilTempalteTabPane.java
  10. 3
      designer_base/src/com/fr/design/file/NewTemplatePane.java
  11. 2
      designer_base/src/com/fr/design/gui/ibutton/UIButtonUI.java
  12. 42
      designer_base/src/com/fr/design/gui/ispinner/UISpinner.java
  13. 7
      designer_base/src/com/fr/design/gui/style/BackgroundPane.java
  14. 7
      designer_base/src/com/fr/design/gui/style/BorderPane.java
  15. 9
      designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java
  16. 2
      designer_base/src/com/fr/design/mainframe/backgroundpane/BackgroundQuickPane.java
  17. 10
      designer_base/src/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java
  18. 15
      designer_base/src/com/fr/design/mainframe/backgroundpane/GradientBackgroundQuickPane.java
  19. 6
      designer_base/src/com/fr/design/mainframe/backgroundpane/ImageBackgroundQuickPane.java
  20. 5
      designer_base/src/com/fr/design/mainframe/backgroundpane/NullBackgroundQuickPane.java
  21. 7
      designer_base/src/com/fr/design/mainframe/backgroundpane/PatternBackgroundQuickPane.java
  22. 6
      designer_base/src/com/fr/design/mainframe/backgroundpane/TextureBackgroundQuickPane.java

1
designer/src/com/fr/design/mainframe/ElementCasePane.java

@ -390,7 +390,6 @@ public abstract class ElementCasePane<T extends TemplateElementCase> extends Tar
grid.setDefaultFloatEditor(Image.class, new ImageFloatEditor()); grid.setDefaultFloatEditor(Image.class, new ImageFloatEditor());
DesignerEnvManager designerEnvManager = DesignerEnvManager.getEnvManager(); DesignerEnvManager designerEnvManager = DesignerEnvManager.getEnvManager();
grid.setGridLineColor(designerEnvManager.getGridLineColor());
grid.setPaginationLineColor(designerEnvManager.getPaginationLineColor()); grid.setPaginationLineColor(designerEnvManager.getPaginationLineColor());
} }

307
designer/src/com/fr/grid/Grid.java

@ -10,7 +10,6 @@ import com.fr.design.constants.UIConstants;
import com.fr.design.fun.GridUIProcessor; import com.fr.design.fun.GridUIProcessor;
import com.fr.design.gui.itextfield.UITextField; import com.fr.design.gui.itextfield.UITextField;
import com.fr.design.mainframe.ElementCasePane; import com.fr.design.mainframe.ElementCasePane;
import com.fr.design.mainframe.templateinfo.TemplateInfoCollector;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUICoreUtils;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.grid.event.CellEditorEvent; import com.fr.grid.event.CellEditorEvent;
@ -36,7 +35,6 @@ import javax.swing.plaf.ComponentUI;
import java.awt.*; import java.awt.*;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.util.Date;
import java.util.Hashtable; import java.util.Hashtable;
import java.util.Iterator; import java.util.Iterator;
@ -57,7 +55,7 @@ public class Grid extends BaseGridComponent {
transient private TemplateCellElement editingCellElement; transient private TemplateCellElement editingCellElement;
private boolean showGridLine = true; private boolean showGridLine = true;
private Color gridLineColor = new Color(0xf0f0f3); // line color. private Color gridLineColor = UIConstants.RULER_LINE_COLOR; // line color.
private boolean isShowPaginateLine = true; private boolean isShowPaginateLine = true;
private Color paginationLineColor = Color.RED; // line color of paper private Color paginationLineColor = Color.RED; // line color of paper
@ -146,12 +144,10 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 应用界面设置 * 应用界面设置
* *
* * @date 2014-12-21-下午6:32:43
* @date 2014-12-21-下午6:32:43 */
*
*/
public void updateUI() { public void updateUI() {
GridUIProcessor localGridUIProcessor = ExtraDesignClassManager.getInstance().getSingle(GridUIProcessor.MARK_STRING, new DefaultGridUIProcessor()); GridUIProcessor localGridUIProcessor = ExtraDesignClassManager.getInstance().getSingle(GridUIProcessor.MARK_STRING, new DefaultGridUIProcessor());
ComponentUI localComponentUI = localGridUIProcessor.appearanceForGrid(this.resolution); ComponentUI localComponentUI = localGridUIProcessor.appearanceForGrid(this.resolution);
@ -160,14 +156,11 @@ public class Grid extends BaseGridComponent {
/** /**
* 是否显示格子线 * 是否显示格子线
* *
* @return 是否显示格子线 * @return 是否显示格子线
* * @date 2014-12-21-下午6:32:13
* */
* @date 2014-12-21-下午6:32:13
*
*/
public boolean isShowGridLine() { public boolean isShowGridLine() {
return showGridLine; return showGridLine;
} }
@ -183,7 +176,7 @@ public class Grid extends BaseGridComponent {
this.getElementCasePane().repaint(); this.getElementCasePane().repaint();
} }
public GridMouseAdapter getGridMouseAdapter(){ public GridMouseAdapter getGridMouseAdapter() {
return this.gridMouseAdapter; return this.gridMouseAdapter;
} }
@ -210,14 +203,11 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 是否显示分页线 * 是否显示分页线
* *
* @return 是否显示分页线 * @return 是否显示分页线
* * @date 2014-12-21-下午6:31:45
* */
* @date 2014-12-21-下午6:31:45
*
*/
public boolean isShowPaginateLine() { public boolean isShowPaginateLine() {
return isShowPaginateLine; return isShowPaginateLine;
} }
@ -253,14 +243,11 @@ public class Grid extends BaseGridComponent {
/** /**
* 是否显示垂直冻结线 * 是否显示垂直冻结线
* *
* @return 是否显示垂直冻结线 * @return 是否显示垂直冻结线
* * @date 2014-12-21-下午6:29:35
* */
* @date 2014-12-21-下午6:29:35
*
*/
public boolean isShowVerticalFrozenLine() { public boolean isShowVerticalFrozenLine() {
return isShowVerticalFrozenLine; return isShowVerticalFrozenLine;
} }
@ -295,14 +282,11 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 是否显示水平冻结线 * 是否显示水平冻结线
* *
* @return 是否显示水平冻结线 * @return 是否显示水平冻结线
* * @date 2014-12-21-下午6:29:35
* */
* @date 2014-12-21-下午6:29:35
*
*/
public boolean isShowHorizontalFrozenLine() { public boolean isShowHorizontalFrozenLine() {
return isShowHorizontalFrozenLine; return isShowHorizontalFrozenLine;
} }
@ -377,14 +361,11 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 组件是否可以被编辑 * 组件是否可以被编辑
* *
* @return 组件是否可以被编辑 * @return 组件是否可以被编辑
* * @date 2014-12-21-下午6:29:09
* */
* @date 2014-12-21-下午6:29:09
*
*/
public boolean isEditable() { public boolean isEditable() {
return editable; return editable;
} }
@ -501,27 +482,21 @@ public class Grid extends BaseGridComponent {
// /////////////editor begin // /////////////editor begin
/** /**
* 是否处于编辑状态 * 是否处于编辑状态
* *
* @return 是否处于编辑状态 * @return 是否处于编辑状态
* * @date 2014-12-21-下午6:28:45
* */
* @date 2014-12-21-下午6:28:45
*
*/
public boolean isEditing() { public boolean isEditing() {
return this.editorComponent != null; return this.editorComponent != null;
} }
/** /**
* 当前编辑对象是否为单元格 * 当前编辑对象是否为单元格
* *
* @return 当前编辑对象是否为单元格 * @return 当前编辑对象是否为单元格
* * @date 2014-12-21-下午6:28:18
* */
* @date 2014-12-21-下午6:28:18
*
*/
public boolean isCellEditing() { public boolean isCellEditing() {
return this.isEditing() && cellEditor != null && notShowingTableSelectPane; return this.isEditing() && cellEditor != null && notShowingTableSelectPane;
} }
@ -534,27 +509,21 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 是否处于智能选择单元格阶段 * 是否处于智能选择单元格阶段
* *
* @return 是否处于智能选择单元格阶段 * @return 是否处于智能选择单元格阶段
* * @date 2014-12-21-下午6:27:36
* */
* @date 2014-12-21-下午6:27:36
*
*/
public boolean IsNotShowingTableSelectPane() { public boolean IsNotShowingTableSelectPane() {
return this.notShowingTableSelectPane; return this.notShowingTableSelectPane;
} }
/** /**
* 当前是否在编辑悬浮元素 * 当前是否在编辑悬浮元素
* *
* @return 是否在编辑悬浮元素 * @return 是否在编辑悬浮元素
* * @date 2014-12-21-下午6:26:46
* */
* @date 2014-12-21-下午6:26:46
*
*/
public boolean isFloatEditing() { public boolean isFloatEditing() {
return this.isEditing() && floatEditor != null; return this.isEditing() && floatEditor != null;
} }
@ -566,7 +535,7 @@ public class Grid extends BaseGridComponent {
* @param column the column of the cell to edit, where 0 is the first column; * @param column the column of the cell to edit, where 0 is the first column;
* @param row the row of the cell to edit, where 0 is the first row * @param row the row of the cell to edit, where 0 is the first row
* @return the editor for this cell; if <code>null</code> return the default * @return the editor for this cell; if <code>null</code> return the default
* editor for this type of cell * editor for this type of cell
* @see com.fr.design.cell.editor.CellEditor * @see com.fr.design.cell.editor.CellEditor
*/ */
public CellEditor getCellEditor(int column, int row) { public CellEditor getCellEditor(int column, int row) {
@ -598,7 +567,7 @@ public class Grid extends BaseGridComponent {
* edited. If nothing is being edited, returns -1. * edited. If nothing is being edited, returns -1.
* *
* @return the index of the column that contains the cell currently being * @return the index of the column that contains the cell currently being
* edited; returns -1 if nothing being edited * edited; returns -1 if nothing being edited
*/ */
public int getEditingColumn() { public int getEditingColumn() {
return editingColumn; return editingColumn;
@ -618,7 +587,7 @@ public class Grid extends BaseGridComponent {
* If nothing is being edited, returns -1. * If nothing is being edited, returns -1.
* *
* @return the index of the row that contains the cell currently being * @return the index of the row that contains the cell currently being
* edited; returns -1 if nothing being edited * edited; returns -1 if nothing being edited
*/ */
public int getEditingRow() { public int getEditingRow() {
return editingRow; return editingRow;
@ -800,25 +769,20 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 开始单元格编辑 * 开始单元格编辑
* *
* * @date 2014-12-21-下午6:25:17
* @date 2014-12-21-下午6:25:17 */
*
*/
public void startEditing() { public void startEditing() {
this.startEditing(false); this.startEditing(false);
} }
/** /**
* 开始单元格编辑 * 开始单元格编辑
* *
* @param byKeyEvent 是否为键盘触发 * @param byKeyEvent 是否为键盘触发
* * @date 2014-12-21-下午6:25:17
* */
* @date 2014-12-21-下午6:25:17
*
*/
protected void startEditing(boolean byKeyEvent) { protected void startEditing(boolean byKeyEvent) {
ElementCasePane reportPane = this.getElementCasePane(); ElementCasePane reportPane = this.getElementCasePane();
ElementCase report = reportPane.getEditingElementCase(); ElementCase report = reportPane.getEditingElementCase();
@ -867,19 +831,15 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 开始单元格编辑 * 开始单元格编辑
* *
* @param column * @param column
* @param row * @param row
* @param cellTypeClass 单元格类型 * @param cellTypeClass 单元格类型
* @param byKeyEvent 是否为键盘触发 * @param byKeyEvent 是否为键盘触发
* * @return 编辑是否成功
* @return 编辑是否成功 * @date 2014-12-21-下午6:25:17
* */
*
* @date 2014-12-21-下午6:25:17
*
*/
public boolean startCellEditingAt_DEC(int column, int row, Class cellTypeClass, boolean byKeyEvent) { public boolean startCellEditingAt_DEC(int column, int row, Class cellTypeClass, boolean byKeyEvent) {
if (this.isEditing()) { if (this.isEditing()) {
this.stopEditing();// 需要先停止正在进行的编辑. this.stopEditing();// 需要先停止正在进行的编辑.
@ -954,12 +914,10 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 停止编辑状态 * 停止编辑状态
* *
* * @date 2014-12-21-下午6:24:54
* @date 2014-12-21-下午6:24:54 */
*
*/
public void stopEditing() { public void stopEditing() {
// 首先判断是哪种类型的编辑. // 首先判断是哪种类型的编辑.
if (this.isCellEditing()) { if (this.isCellEditing()) {
@ -1117,10 +1075,10 @@ public class Grid extends BaseGridComponent {
if (styleChange || imageChange) { if (styleChange || imageChange) {
return true; return true;
} }
} else { } else {
if(newValue instanceof RichText){ if (newValue instanceof RichText) {
setShowAsHtml(this.editingCellElement); setShowAsHtml(this.editingCellElement);
} }
Object oldValue = this.editingCellElement.getValue(); Object oldValue = this.editingCellElement.getValue();
if (!ComparatorUtils.equals_exactly(oldValue, newValue)) { if (!ComparatorUtils.equals_exactly(oldValue, newValue)) {
@ -1131,15 +1089,15 @@ public class Grid extends BaseGridComponent {
return false; return false;
} }
private void setShowAsHtml(CellElement cellElement){ private void setShowAsHtml(CellElement cellElement) {
CellGUIAttr guiAttr = cellElement.getCellGUIAttr(); CellGUIAttr guiAttr = cellElement.getCellGUIAttr();
if(guiAttr == null){ if (guiAttr == null) {
guiAttr = new CellGUIAttr(); guiAttr = new CellGUIAttr();
cellElement.setCellGUIAttr(guiAttr); cellElement.setCellGUIAttr(guiAttr);
} }
guiAttr.setShowAsHTML(true); guiAttr.setShowAsHTML(true);
} }
/** /**
* 当单元格里的内容过长时自动调整单元格 * 当单元格里的内容过长时自动调整单元格
@ -1148,34 +1106,32 @@ public class Grid extends BaseGridComponent {
*/ */
private void shrinkToFit(TemplateElementCase tplEC) { private void shrinkToFit(TemplateElementCase tplEC) {
if (editingCellElement == null) { if (editingCellElement == null) {
return; return;
} }
Object editElementValue = editingCellElement.getValue(); Object editElementValue = editingCellElement.getValue();
if (valueNeedFit(editElementValue)) { if (valueNeedFit(editElementValue)) {
int mode = this.getElementCasePane().getReportSettings().getShrinkToFitMode(); int mode = this.getElementCasePane().getReportSettings().getShrinkToFitMode();
GridUtils.shrinkToFit(mode, tplEC, editingCellElement); GridUtils.shrinkToFit(mode, tplEC, editingCellElement);
} }
} }
//是否需要根据内容自动调整, 目前只有字符串, 数字, 富文本需要 //是否需要根据内容自动调整, 目前只有字符串, 数字, 富文本需要
private boolean valueNeedFit(Object value){ private boolean valueNeedFit(Object value) {
if(value == null){ if (value == null) {
return false; return false;
} }
return value instanceof String || return value instanceof String ||
value instanceof Number || value instanceof Number ||
value instanceof RichText; value instanceof RichText;
} }
/** /**
* 取消编辑状态 * 取消编辑状态
* *
* * @date 2014-12-21-下午6:24:34
* @date 2014-12-21-下午6:24:34 */
*
*/
public void cancelEditing() { public void cancelEditing() {
if (this.isEditing()) { if (this.isEditing()) {
removeEditor(); removeEditor();
@ -1184,12 +1140,10 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 移除选中组件 * 移除选中组件
* *
* * @date 2014-12-21-下午6:24:16
* @date 2014-12-21-下午6:24:16 */
*
*/
public void removeEditor() { public void removeEditor() {
if (this.isCellEditing()) { if (this.isCellEditing()) {
this.removeCellEditor(); this.removeCellEditor();
@ -1199,12 +1153,10 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 移除单元格组件 * 移除单元格组件
* *
* * @date 2014-12-21-下午6:24:00
* @date 2014-12-21-下午6:24:00 */
*
*/
public void removeCellEditor() { public void removeCellEditor() {
CellEditor cellEditor = getCellEditor(); CellEditor cellEditor = getCellEditor();
if (cellEditor == null) { if (cellEditor == null) {
@ -1233,12 +1185,10 @@ public class Grid extends BaseGridComponent {
} }
/** /**
* 移除悬浮元素组件 * 移除悬浮元素组件
* *
* * @date 2014-12-21-下午6:23:38
* @date 2014-12-21-下午6:23:38 */
*
*/
public void removeFloatEditor() { public void removeFloatEditor() {
FloatEditor floatEditor = getFloatEditor(); FloatEditor floatEditor = getFloatEditor();
if (floatEditor != null) { if (floatEditor != null) {
@ -1290,31 +1240,24 @@ public class Grid extends BaseGridComponent {
// /////////////editor end // /////////////editor end
/** /**
* 鼠标点击事件 * 鼠标点击事件
* *
* @param evtX x坐标 * @param evtX x坐标
* @param evtY y坐标 * @param evtY y坐标
* * @date 2014-12-21-下午6:22:56
* */
* @date 2014-12-21-下午6:22:56
*
*/
public void doMousePress(double evtX, double evtY) { public void doMousePress(double evtX, double evtY) {
dispatchEvent(new MouseEvent(this, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), 0, (int) evtX, (int) evtY, 1, false)); dispatchEvent(new MouseEvent(this, MouseEvent.MOUSE_PRESSED, System.currentTimeMillis(), 0, (int) evtX, (int) evtY, 1, false));
} }
/** /**
* 计算oldRectangle,因为CellElement的合并会变成多大的区域. * 计算oldRectangle,因为CellElement的合并会变成多大的区域.
* *
* @param report 当前格子报表 * @param report 当前格子报表
* @param oldRectangle 之前的选中区域 * @param oldRectangle 之前的选中区域
* * @return 插入的区域
* @return 插入的区域 * @date 2014-12-21-下午6:22:21
* */
*
* @date 2014-12-21-下午6:22:21
*
*/
public Rectangle caculateIntersectsUnion(ElementCase report, Rectangle oldRectangle) { public Rectangle caculateIntersectsUnion(ElementCase report, Rectangle oldRectangle) {
Rectangle newRectangle = new Rectangle(oldRectangle); Rectangle newRectangle = new Rectangle(oldRectangle);

4
designer/src/com/fr/grid/GridHeader.java

@ -1,5 +1,7 @@
package com.fr.grid; package com.fr.grid;
import com.fr.design.constants.UIConstants;
import java.awt.*; import java.awt.*;
@ -7,7 +9,7 @@ public abstract class GridHeader<T> extends BaseGridComponent {
public final static int SIZE_ADJUST = 4; public final static int SIZE_ADJUST = 4;
//属性 //属性
private Color separatorLineColor = new Color(172, 168, 153); //separator lines private Color separatorLineColor = UIConstants.RULER_LINE_COLOR; //separator lines
private Color selectedForeground = Color.black; private Color selectedForeground = Color.black;
private Color selectedBackground = new Color(208, 240, 252); private Color selectedBackground = new Color(208, 240, 252);

3
designer_base/src/com/fr/design/constants/UIConstants.java

@ -64,6 +64,7 @@ public interface UIConstants {
Constants.LINE_MEDIUM_DASH_DOT_DOT, //medium dash-dot-dot border Constants.LINE_MEDIUM_DASH_DOT_DOT, //medium dash-dot-dot border
Constants.LINE_SLANTED_DASH_DOT, //slanted dash-dot border Constants.LINE_SLANTED_DASH_DOT, //slanted dash-dot border
}; };
public static final Color TOOLBAR_BORDER_COLOR = new Color(0xD9DADD);
public static final Color COMBOBOX_BTN_NORMAL = new Color(0xD9DADD); public static final Color COMBOBOX_BTN_NORMAL = new Color(0xD9DADD);
public static final Color COMBOBOX_BTN_ROLLOVER = new Color(0xC8C9CD); public static final Color COMBOBOX_BTN_ROLLOVER = new Color(0xC8C9CD);
public static final Color COMBOBOX_BTN_PRESS = new Color(0xD8F2FD); public static final Color COMBOBOX_BTN_PRESS = new Color(0xD8F2FD);
@ -102,7 +103,7 @@ public interface UIConstants {
public static final Color SELECTED_BACKGROUND = new Color(0xdeedfe); public static final Color SELECTED_BACKGROUND = new Color(0xdeedfe);
public static final Color SELECTED_BORDER_LINE_COLOR = new Color(0x3384f0); public static final Color SELECTED_BORDER_LINE_COLOR = new Color(0x3384f0);
public static final Color DEFAULT_BG_RULER = new Color(0xffffff); public static final Color DEFAULT_BG_RULER = new Color(0xffffff);
public static final Color RULER_LINE_COLOR = new Color(0xababab); public static final Color RULER_LINE_COLOR = new Color(0xD9DADD);
public static final Color RULER_SCALE_COLOR = new Color(0x4e504f); public static final Color RULER_SCALE_COLOR = new Color(0x4e504f);
public static final Color PROPERTY_PANE_BACKGROUND = new Color(0xdadadd); public static final Color PROPERTY_PANE_BACKGROUND = new Color(0xdadadd);
public static final Color SPLIT_LINE = new Color(201, 198, 184); public static final Color SPLIT_LINE = new Color(201, 198, 184);

3
designer_base/src/com/fr/design/data/datapane/TableDataTreePane.java

@ -6,6 +6,7 @@ import com.fr.data.TableDataSource;
import com.fr.design.DesignModelAdapter; import com.fr.design.DesignModelAdapter;
import com.fr.design.ExtraDesignClassManager; import com.fr.design.ExtraDesignClassManager;
import com.fr.design.actions.UpdateAction; import com.fr.design.actions.UpdateAction;
import com.fr.design.constants.UIConstants;
import com.fr.design.data.BasicTableDataTreePane; import com.fr.design.data.BasicTableDataTreePane;
import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.DesignTableDataManager;
import com.fr.design.data.tabledata.StoreProcedureWorkerListener; import com.fr.design.data.tabledata.StoreProcedureWorkerListener;
@ -111,6 +112,8 @@ public class TableDataTreePane extends BasicTableDataTreePane {
ToolBarDef toolbarDef = new ToolBarDef(); ToolBarDef toolbarDef = new ToolBarDef();
toolbarDef.addShortCut(addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction); toolbarDef.addShortCut(addMenuDef, SeparatorDef.DEFAULT, editAction, removeAction, SeparatorDef.DEFAULT, previewTableDataAction, connectionTableAction);
UIToolbar toolBar = ToolBarDef.createJToolBar(); UIToolbar toolBar = ToolBarDef.createJToolBar();
toolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR));
toolBar.setBorderPainted(true);
toolbarDef.updateToolBar(toolBar); toolbarDef.updateToolBar(toolBar);
JPanel toolbarPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel toolbarPane = FRGUIPaneFactory.createBorderLayout_S_Pane();

6
designer_base/src/com/fr/design/editor/DoubleDeckValueEditorPane.java

@ -217,9 +217,9 @@ public class DoubleDeckValueEditorPane extends BasicPane implements UIObserver,
String name = currentEditor.getName(); String name = currentEditor.getName();
Object columnIndex = currentEditor.getValue(); Object columnIndex = currentEditor.getValue();
//bug86542,这边为啥要new一个公式出来,只保留content,其他属性全不要了? //bug86542,这边为啥要new一个公式出来,只保留content,其他属性全不要了?
// if (ComparatorUtils.equals(name, Inter.getLocText("Formula"))) { if (columnIndex == null && ComparatorUtils.equals(name, Inter.getLocText("Formula"))) {
// columnIndex = new Formula(columnIndex == null ? "" : columnIndex.toString()); columnIndex = ((FormulaEditor) currentEditor).getFormula();
// } }
return columnIndex; return columnIndex;
} }

12
designer_base/src/com/fr/design/editor/ValueEditorPane.java

@ -2,6 +2,7 @@ package com.fr.design.editor;
import com.fr.base.Formula; import com.fr.base.Formula;
import com.fr.design.DesignerEnvManager; import com.fr.design.DesignerEnvManager;
import com.fr.design.editor.editor.*;
import com.fr.design.event.GlobalNameListener; import com.fr.design.event.GlobalNameListener;
import com.fr.design.event.GlobalNameObserver; import com.fr.design.event.GlobalNameObserver;
import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserver;
@ -11,10 +12,6 @@ import com.fr.design.gui.imenu.UIMenuItem;
import com.fr.design.layout.FRGUIPaneFactory; import com.fr.design.layout.FRGUIPaneFactory;
import com.fr.design.mainframe.DesignerContext; import com.fr.design.mainframe.DesignerContext;
import com.fr.design.dialog.BasicPane; import com.fr.design.dialog.BasicPane;
import com.fr.design.editor.editor.ColumnNameEditor;
import com.fr.design.editor.editor.Editor;
import com.fr.design.editor.editor.TextEditor;
import com.fr.design.editor.editor.XMLANameEditor;
import com.fr.general.ComparatorUtils; import com.fr.general.ComparatorUtils;
import com.fr.general.Inter; import com.fr.general.Inter;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -207,9 +204,10 @@ public class ValueEditorPane extends BasicPane implements UIObserver, GlobalName
String name = currentEditor.getName(); String name = currentEditor.getName();
Object columnIndex = currentEditor.getValue(); Object columnIndex = currentEditor.getValue();
//bug86542,这边为啥要new一个公式出来,只保留content,其他属性全不要了? //bug86542,这边为啥要new一个公式出来,只保留content,其他属性全不要了?
// if (ComparatorUtils.equals(name, Inter.getLocText("Formula"))) { //MoMeak:我也想注释了,但是有bug啊。。。
// columnIndex = new Formula(columnIndex == null ? "" : columnIndex.toString()); if (columnIndex == null && ComparatorUtils.equals(name, Inter.getLocText("Formula"))) {
// } columnIndex = ((FormulaEditor) currentEditor).getFormula();
}
return columnIndex; return columnIndex;
} }

4
designer_base/src/com/fr/design/editor/editor/FormulaEditor.java

@ -96,6 +96,10 @@ public class FormulaEditor extends Editor<Formula> {
}).setVisible(true); }).setVisible(true);
} }
public Formula getFormula(){
return formula;
}
/** /**
* Return the value of the CellEditor. * Return the value of the CellEditor.
*/ */

2
designer_base/src/com/fr/design/file/MutilTempalteTabPane.java

@ -373,7 +373,7 @@ public class MutilTempalteTabPane extends JComponent implements MouseListener, M
private void paintDefaultBackground(Graphics2D g2d) { private void paintDefaultBackground(Graphics2D g2d) {
//画默认背景 //画默认背景
g2d.setPaint(new GradientPaint(1, 1, new Color(217, 218, 221), 1, getHeight() - 1, new Color(217, 218, 221))); g2d.setPaint(new GradientPaint(1, 1, new Color(217, 218, 221), 1, getHeight() - 1, new Color(217, 218, 221)));
g2d.fillRect(getX(), getY(), getWidth(), getHeight()); g2d.fillRect(0, 0, getWidth(), getHeight());
} }

3
designer_base/src/com/fr/design/file/NewTemplatePane.java

@ -10,6 +10,7 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener; import java.awt.event.MouseMotionListener;
import java.awt.geom.Line2D; import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;
/** /**
* Author : daisy * Author : daisy
@ -45,6 +46,8 @@ public abstract class NewTemplatePane extends JComponent implements MouseListene
public void paintComponent(Graphics g) { public void paintComponent(Graphics g) {
super.paintComponent(g); super.paintComponent(g);
g2d = (Graphics2D) g; g2d = (Graphics2D) g;
g2d.setColor(UIConstants.COMBOBOX_BTN_NORMAL);
g2d.fill(new Rectangle2D.Double(0, 0, getWidth(),getHeight()));
int sheetIconY = (getHeight() - newWorkBookIconMode.getIconHeight()) / 2; int sheetIconY = (getHeight() - newWorkBookIconMode.getIconHeight()) / 2;
newWorkBookIconMode.paintIcon(this, g2d, newIconStartX, sheetIconY); newWorkBookIconMode.paintIcon(this, g2d, newIconStartX, sheetIconY);
// paintUnderLine(g2d); // paintUnderLine(g2d);

2
designer_base/src/com/fr/design/gui/ibutton/UIButtonUI.java

@ -160,7 +160,7 @@ public class UIButtonUI extends BasicButtonUI {
paintModelIcon(model, icon, g, c); paintModelIcon(model, icon, g, c);
} }
private void paintModelIcon(ButtonModel model, Icon icon, Graphics g, JComponent c) { protected void paintModelIcon(ButtonModel model, Icon icon, Graphics g, JComponent c) {
if (model.isPressed() && model.isArmed()) { if (model.isPressed() && model.isArmed()) {
icon.paintIcon(c, g, iconRec.x + getTextShiftOffset(), icon.paintIcon(c, g, iconRec.x + getTextShiftOffset(),
iconRec.y + getTextShiftOffset()); iconRec.y + getTextShiftOffset());

42
designer_base/src/com/fr/design/gui/ispinner/UISpinner.java

@ -6,8 +6,9 @@ import com.fr.design.event.GlobalNameObserver;
import com.fr.design.event.UIObserver; import com.fr.design.event.UIObserver;
import com.fr.design.event.UIObserverListener; import com.fr.design.event.UIObserverListener;
import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.ibutton.UIButtonUI;
import com.fr.design.gui.itextfield.UINumberField; import com.fr.design.gui.itextfield.UINumberField;
import com.fr.design.utils.gui.GUICoreUtils; import com.fr.design.utils.gui.GUIPaintUtils;
import com.fr.stable.Constants; import com.fr.stable.Constants;
import com.fr.stable.StringUtils; import com.fr.stable.StringUtils;
@ -16,6 +17,7 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener; import javax.swing.event.DocumentListener;
import javax.swing.plaf.ButtonUI;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
@ -164,6 +166,34 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver
} }
} }
private class ButtionUI extends UIButtonUI {
private boolean isNormalPaint = true;
@Override
protected void doExtraPainting(UIButton b, Graphics2D g2d, int w, int h, String selectedRoles) {
if (isPressed(b) && b.isPressedPainted()) {
isNormalPaint = false;
Color pressColor = UIConstants.COMBOBOX_BTN_PRESS;
GUIPaintUtils.fillPressed(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), pressColor);
} else if (isRollOver(b)) {
isNormalPaint = false;
Color hoverColor = UIConstants.COMBOBOX_BTN_ROLLOVER;
GUIPaintUtils.fillRollOver(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted(), hoverColor);
} else if (b.isNormalPainted()) {
isNormalPaint = true;
GUIPaintUtils.fillNormal(g2d, 0, 0, w, h, b.isRoundBorder(), b.getRectDirection(), b.isDoneAuthorityEdited(selectedRoles), b.isPressedPainted());
}
}
@Override
protected void paintModelIcon(ButtonModel model, Icon icon, Graphics g, JComponent c) {
if (isNormalPaint) {
g.setColor(UIConstants.COMBOBOX_BTN_NORMAL);
g.fillRect(0, 0, c.getWidth(), c.getHeight());
}
super.paintModelIcon(model, icon, g, c);
}
}
private void initComponents() { private void initComponents() {
textField = initNumberField(); textField = initNumberField();
@ -174,12 +204,22 @@ public class UISpinner extends JPanel implements UIObserver, GlobalNameObserver
public boolean shouldResponseChangeListener() { public boolean shouldResponseChangeListener() {
return false; return false;
} }
@Override
public ButtonUI getUI() {
return new ButtionUI();
}
}; };
preButton.setRoundBorder(true, Constants.LEFT); preButton.setRoundBorder(true, Constants.LEFT);
nextButton = new UIButton(UIConstants.ARROW_DOWN_ICON) { nextButton = new UIButton(UIConstants.ARROW_DOWN_ICON) {
public boolean shouldResponseChangeListener() { public boolean shouldResponseChangeListener() {
return false; return false;
} }
@Override
public ButtonUI getUI() {
return new ButtionUI();
}
}; };
nextButton.setRoundBorder(true, Constants.LEFT); nextButton.setRoundBorder(true, Constants.LEFT);
setLayout(new BorderLayout()); setLayout(new BorderLayout());

7
designer_base/src/com/fr/design/gui/style/BackgroundPane.java

@ -140,6 +140,7 @@ public class BackgroundPane extends AbstractBasicStylePane {
* Populate background. * Populate background.
*/ */
public void populateBean(Background background) { public void populateBean(Background background) {
resetPaneList();
for (int i = 0; i < paneList.length; i++) { for (int i = 0; i < paneList.length; i++) {
BackgroundQuickPane pane = paneList[i]; BackgroundQuickPane pane = paneList[i];
if (pane.accept(background)) { if (pane.accept(background)) {
@ -151,6 +152,12 @@ public class BackgroundPane extends AbstractBasicStylePane {
} }
} }
private void resetPaneList() {
for (BackgroundQuickPane pane : paneList) {
pane.reset();
}
}
/** /**
* Update background. * Update background.
*/ */

7
designer_base/src/com/fr/design/gui/style/BorderPane.java

@ -203,21 +203,16 @@ public class BorderPane extends AbstractBasicStylePane implements GlobalNameObse
CellBorderStyle cellBorderStyle = this.update(); CellBorderStyle cellBorderStyle = this.update();
HashSet<String> borderSet = new HashSet<String>(Arrays.asList(BORDERARRAY)); HashSet<String> borderSet = new HashSet<String>(Arrays.asList(BORDERARRAY));
style = style.deriveBackground(backgroundPane.update());
if (backgroundPane.currentPane != backgroundPane.paneList[1]){ if (backgroundPane.currentPane != backgroundPane.paneList[1]){
if (borderSet.contains(globalNameListener.getGlobalName())) { if (borderSet.contains(globalNameListener.getGlobalName())) {
style = style.deriveBorder(cellBorderStyle.getTopStyle(), cellBorderStyle.getTopColor(), cellBorderStyle.getBottomStyle(), cellBorderStyle.getBottomColor(), style = style.deriveBorder(cellBorderStyle.getTopStyle(), cellBorderStyle.getTopColor(), cellBorderStyle.getBottomStyle(), cellBorderStyle.getBottomColor(),
cellBorderStyle.getLeftStyle(), cellBorderStyle.getLeftColor(), cellBorderStyle.getRightStyle(), cellBorderStyle.getRightColor()); cellBorderStyle.getLeftStyle(), cellBorderStyle.getLeftColor(), cellBorderStyle.getRightStyle(), cellBorderStyle.getRightColor());
style = style.deriveBackground(backgroundPane.update());
} else {
style = style.deriveBackground(backgroundPane.update());
} }
}else { }else {
if (borderSet.contains(globalNameListener.getGlobalName()) && !((ColorBackgroundQuickPane) backgroundPane.currentPane).isBackGroundColor()){ if (borderSet.contains(globalNameListener.getGlobalName()) && !((ColorBackgroundQuickPane) backgroundPane.currentPane).isBackGroundColor()){
style = style.deriveBorder(cellBorderStyle.getTopStyle(), cellBorderStyle.getTopColor(), cellBorderStyle.getBottomStyle(), cellBorderStyle.getBottomColor(), style = style.deriveBorder(cellBorderStyle.getTopStyle(), cellBorderStyle.getTopColor(), cellBorderStyle.getBottomStyle(), cellBorderStyle.getBottomColor(),
cellBorderStyle.getLeftStyle(), cellBorderStyle.getLeftColor(), cellBorderStyle.getRightStyle(), cellBorderStyle.getRightColor()); cellBorderStyle.getLeftStyle(), cellBorderStyle.getLeftColor(), cellBorderStyle.getRightStyle(), cellBorderStyle.getRightColor());
style = style.deriveBackground(backgroundPane.update());
} else {
style = style.deriveBackground(backgroundPane.update());
} }
} }

9
designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java

@ -79,10 +79,13 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt
private DesignerFrameFileDealerPane() { private DesignerFrameFileDealerPane() {
setLayout(new BorderLayout()); setLayout(new BorderLayout());
toolBar = ToolBarDef.createJToolBar(); toolBar = ToolBarDef.createJToolBar();
toolBar.setBorder(BorderFactory.createEmptyBorder(3, 0, 4, 0)); toolBar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIConstants.TOOLBAR_BORDER_COLOR));
toolBar.setBorderPainted(true);
JPanel tooBarPane = FRGUIPaneFactory.createBorderLayout_S_Pane(); JPanel tooBarPane = FRGUIPaneFactory.createBorderLayout_S_Pane();
JPanel parent = new JPanel(new BorderLayout());
tooBarPane.add(toolBar, BorderLayout.CENTER); parent.add(toolBar, BorderLayout.CENTER);
parent.setBorder(BorderFactory.createEmptyBorder(3, 0, 4, 0));
tooBarPane.add(parent, BorderLayout.CENTER);
tooBarPane.add(new UIMenuHighLight(), BorderLayout.SOUTH); tooBarPane.add(new UIMenuHighLight(), BorderLayout.SOUTH);
add(tooBarPane, BorderLayout.NORTH); add(tooBarPane, BorderLayout.NORTH);

2
designer_base/src/com/fr/design/mainframe/backgroundpane/BackgroundQuickPane.java

@ -21,6 +21,8 @@ public abstract class BackgroundQuickPane extends BasicBeanPane<Background> impl
@Override @Override
public abstract String title4PopupWindow(); public abstract String title4PopupWindow();
public abstract void reset();
/** /**
* 组件是否需要响应添加的观察者事件 * 组件是否需要响应添加的观察者事件
* *

10
designer_base/src/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java

@ -29,8 +29,8 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane {
public void populateBean(Background background) { public void populateBean(Background background) {
ColorBackground colorBackgroud = (ColorBackground) background; ColorBackground colorBackgroud = (ColorBackground) background;
isBackGroundColor = false;
this.detailColorSelectPane.setColor(colorBackgroud.getColor()); this.detailColorSelectPane.setColor(colorBackgroud.getColor());
isBackGroundColor = false;
} }
public Background updateBean() { public Background updateBean() {
@ -50,8 +50,9 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane {
public void registerChangeListener(final UIObserverListener listener) { public void registerChangeListener(final UIObserverListener listener) {
detailColorSelectPane.addChangeListener(new ChangeListener() { detailColorSelectPane.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) { public void stateChanged(ChangeEvent e) {
listener.doChange();
isBackGroundColor = true; isBackGroundColor = true;
listener.doChange();
isBackGroundColor = false;
} }
}); });
} }
@ -76,4 +77,9 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane {
public String title4PopupWindow() { public String title4PopupWindow() {
return Inter.getLocText("Color"); return Inter.getLocText("Color");
} }
@Override
public void reset() {
this.detailColorSelectPane.setColor(null);
}
} }

15
designer_base/src/com/fr/design/mainframe/backgroundpane/GradientBackgroundQuickPane.java

@ -119,4 +119,19 @@ public class GradientBackgroundQuickPane extends BackgroundQuickPane {
return Inter.getLocText("Gradient-Color"); return Inter.getLocText("Gradient-Color");
} }
@Override
public void reset() {
this.gradientBar.getSelectColorPointBtnP1().setColorInner(Color.WHITE);
this.gradientBar.getSelectColorPointBtnP2().setColorInner(Color.BLACK);
directionPane.setSelectedItem(0);
int startValue = 4;
int endValue = this.gradientBarWidth;
gradientBar.setStartValue(startValue);
gradientBar.setEndValue(endValue);
if(this.gradientBar.getSelectColorPointBtnP1() != null && this.gradientBar.getSelectColorPointBtnP2() != null){
this.gradientBar.getSelectColorPointBtnP1().setX(startValue);
this.gradientBar.getSelectColorPointBtnP2().setX(endValue);
}
}
} }

6
designer_base/src/com/fr/design/mainframe/backgroundpane/ImageBackgroundQuickPane.java

@ -179,4 +179,10 @@ public class ImageBackgroundQuickPane extends BackgroundQuickPane {
public String title4PopupWindow() { public String title4PopupWindow() {
return Inter.getLocText("FR-Background_Image"); return Inter.getLocText("FR-Background_Image");
} }
@Override
public void reset() {
imageLayoutPane.setSelectedIndex(0);
previewPane.setImage(null);
}
} }

5
designer_base/src/com/fr/design/mainframe/backgroundpane/NullBackgroundQuickPane.java

@ -51,4 +51,9 @@ public class NullBackgroundQuickPane extends BackgroundQuickPane {
return Inter.getLocText("Background-Null"); return Inter.getLocText("Background-Null");
} }
@Override
public void reset() {
// do nothing
}
} }

7
designer_base/src/com/fr/design/mainframe/backgroundpane/PatternBackgroundQuickPane.java

@ -215,4 +215,11 @@ public class PatternBackgroundQuickPane extends BackgroundQuickPane {
public String title4PopupWindow() { public String title4PopupWindow() {
return Inter.getLocText("FR-Designer_Background-Pattern"); return Inter.getLocText("FR-Designer_Background-Pattern");
} }
@Override
public void reset() {
patternButtonArray[0].setSelected(true);
foregroundColorPane.setSelectObject(null);
backgroundColorPane.setSelectObject(null);
}
} }

6
designer_base/src/com/fr/design/mainframe/backgroundpane/TextureBackgroundQuickPane.java

@ -169,4 +169,10 @@ public class TextureBackgroundQuickPane extends BackgroundQuickPane {
public String title4PopupWindow() { public String title4PopupWindow() {
return Inter.getLocText("Background-Texture"); return Inter.getLocText("Background-Texture");
} }
@Override
public void reset() {
this.texturePaint = null;
textureButtonArray[0].setSelected(true);
}
} }
Loading…
Cancel
Save