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 5 years ago
parent
commit
1a2a29d298
  1. 24
      designer-base/src/main/java/com/fr/design/mainframe/JTemplate.java

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