Browse Source

REPORT-63760 【主题切换】撤销以后,样式设置有问题 &

REPORT-64006 【模板主题】单元格自定义样式背景色设置不生效

【问题原因】
ColorBackgroundQuickPane注册监听器ChangeListenerImpl的逻辑不
能丢,因为里面有修改字段backgroundChange的逻辑.所以在监听器重复注
册以及UndoState重复生成时,应该保留ChangeListenerImpl, 而放弃
NewColorSelectBox内部自己注册ChangeListener.

【改动思路】
同上
feature/x
Starryi 3 years ago
parent
commit
3389d16af7
  1. 20
      designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java

20
designer-base/src/main/java/com/fr/design/mainframe/backgroundpane/ColorBackgroundQuickPane.java

@ -19,7 +19,17 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane {
public ColorBackgroundQuickPane() { public ColorBackgroundQuickPane() {
this.setLayout(FRGUIPaneFactory.createBorderLayout()); this.setLayout(FRGUIPaneFactory.createBorderLayout());
colorSelectBox = new NewColorSelectBox(100); colorSelectBox = new NewColorSelectBox(100) {
@Override
public boolean shouldResponseChangeListener() {
// ColorBackgroundQuickPane注册监听器ChangeListenerImpl的逻辑不能丢,因为里面有修改字段backgroundChange的逻辑.
// 所以在监听器重复注册以及UndoState重复生成时,应该保留ChangeListenerImpl, 而放弃NewColorSelectBox内部自己注册
// ChangeListener
// REPORT-63760 【主题切换】撤销以后,样式设置有问题
// REPORT-64006 【模板主题】单元格自定义样式背景色设置不生效
return false;
}
};
this.add(colorSelectBox, BorderLayout.NORTH); this.add(colorSelectBox, BorderLayout.NORTH);
} }
@ -41,14 +51,10 @@ public class ColorBackgroundQuickPane extends BackgroundQuickPane {
} }
@Override @Override
public boolean shouldResponseChangeListener() { public void registerChangeListener(final UIObserverListener listener) {
// NewColorSelectBox实现了UIObserver接口,这里就不要重复注册监听器了,以避免产生重复UndoState. this.colorSelectBox.addSelectChangeListener(new ChangeListenerImpl(listener));
return false;
} }
@Override
public void registerChangeListener(final UIObserverListener listener) { }
@Override @Override
/** /**
* 是否为ColorBackground 类型 * 是否为ColorBackground 类型

Loading…
Cancel
Save