Browse Source

Merge pull request #1511 in DESIGN/design from ~HARRISON/design:final/10.0 to final/10.0

* commit '872096f863776e74e2efa84aa332c4510d41ae5f':
  REPORT-27434 1.15jar假保存问题 更换下位置。 重构后改动了代码的位置。 没再测试
  REPORT-27434 1.15jar假保存问题 监听装置需要同步刷新
final/10.0
Kara 4 years ago
parent
commit
1a2a29d298
  1. 28
      designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java

28
designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java

@ -93,6 +93,7 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
protected U authorityUndoState = null;
protected T template; // 当前模板
protected TemplateProcessInfo<T> processInfo; // 模板过程的相关信息
private JComponent centerPane;
private static short currentIndex = 0;// 此变量用于多次新建模板时,让名字不重复
private DesignModelAdapter<T, ?> designModel;
private PreviewProvider previewType;
@ -123,13 +124,13 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
this.editingFILE = file;
this.setLayout(FRGUIPaneFactory.createBorderLayout());
this.setBorder(BorderFactory.createEmptyBorder());
this.add(createCenterPane(), BorderLayout.CENTER);
addCenterPane();
this.undoState = createUndoState();
designModel = createDesignModel();
consumeTimer.setEnabled(shouldInitForCollectInfo(isNewFile));
}
void onGetFocus() {
consumeTimer.start();
}
@ -248,17 +249,38 @@ public abstract class JTemplate<T extends BaseBook, U extends BaseUndoState<?>>
/**
* 刷新内部资源
*
* 刷新资源的同时
* CenterPane 负责监听改动
* 所以需要同步处理
*/
public void refreshResource() {
try {
this.template = JTemplateFactory.asIOFile(this.editingFILE);
setTarget(this.template);
// 先移除旧的。
removeCenterPane();
// 加入新的
addCenterPane();
} catch (Exception e) {
FineLoggerFactory.getLogger().error(e.getMessage(), e);
}
}
private void addCenterPane() {
this.centerPane = createCenterPane();
this.add(centerPane, BorderLayout.CENTER);
}
private void removeCenterPane() {
JComponent centerPane = this.centerPane;
this.remove(centerPane);
}
/**
* 刷新容器
*/

Loading…
Cancel
Save