diff --git a/designer_base/src/com/fr/design/fun/impl/AbstractTemplateTreeShortCutProvider.java b/designer_base/src/com/fr/design/fun/impl/AbstractTemplateTreeShortCutProvider.java index b8568dd615..22fe8aa767 100644 --- a/designer_base/src/com/fr/design/fun/impl/AbstractTemplateTreeShortCutProvider.java +++ b/designer_base/src/com/fr/design/fun/impl/AbstractTemplateTreeShortCutProvider.java @@ -11,11 +11,6 @@ import com.fr.stable.fun.mark.API; @API(level = TemplateTreeShortCutProvider.CURRENT_LEVEL) public abstract class AbstractTemplateTreeShortCutProvider extends UpdateAction implements TemplateTreeShortCutProvider { - @Override - public int currentAPILevel() { - return 1; - } - @Override public String mark4Provider() { return getClass().getName(); diff --git a/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java b/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java index 175463b1d4..c8a4b231de 100644 --- a/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java +++ b/designer_base/src/com/fr/design/mainframe/DesignerFrameFileDealerPane.java @@ -10,7 +10,11 @@ import com.fr.design.constants.UIConstants; import com.fr.design.data.DesignTableDataManager; import com.fr.design.data.datapane.TableDataTreePane; import com.fr.design.data.tabledata.ResponseDataSourceChange; -import com.fr.design.file.*; +import com.fr.design.file.FileOperations; +import com.fr.design.file.FileToolbarStateChangeListener; +import com.fr.design.file.HistoryTemplateListPane; +import com.fr.design.file.MutilTempalteTabPane; +import com.fr.design.file.TemplateTreePane; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; import com.fr.design.gui.imenu.UIMenuHighLight; @@ -41,6 +45,7 @@ import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.io.File; +import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Set; @@ -51,6 +56,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt private CardLayout card; private JPanel cardPane; + private java.util.List otherToobarStateChangeListeners= new ArrayList<>(); public FileOperations getSelectedOperation() { return selectedOperation; @@ -137,7 +143,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } toolbarDef.addShortCut(delFileAction); Set extraShortCuts = ExtraDesignClassManager.getInstance().getExtraShortCuts(); - for (ShortCut shortCut : extraShortCuts){ + for (ShortCut shortCut : extraShortCuts) { toolbarDef.addShortCut(shortCut); } @@ -163,8 +169,9 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt } /** - * 响应数据集改变 - * @param map 改变名字的数据集 + * 响应数据集改变 + * + * @param map 改变名字的数据集 */ public void fireDSChanged(Map map) { DesignTableDataManager.fireDSChanged(map); @@ -215,6 +222,21 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt public void actionPerformed(ActionEvent evt) { selectedOperation.refresh(); stateChange(); + + } + } + + public void addToobarStateChangeListener(FileToolbarStateChangeListener toobarStateChangeListener) { + this.otherToobarStateChangeListeners.add(toobarStateChangeListener); + } + + public void removeToobarStateChangeListener(FileToolbarStateChangeListener toobarStateChangeListener) { + this.otherToobarStateChangeListeners.remove(toobarStateChangeListener); + } + + private void otherStateChange() { + for (FileToolbarStateChangeListener toobarStateChangeListener : otherToobarStateChangeListeners) { + toobarStateChangeListener.stateChange(); } } @@ -298,8 +320,8 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt openReportAction.setEnabled(false); } FileNode node = TemplateTreePane.getInstance().getTemplateFileTree().getSelectedFileNode(); - if (selectedOperation.getSelectedTemplatePath() != null){ - if (node.getLock() != null && !ComparatorUtils.equals(node.getUserID(),node.getLock())){ + if (selectedOperation.getSelectedTemplatePath() != null) { + if (node.getLock() != null && !ComparatorUtils.equals(node.getUserID(), node.getLock())) { delFileAction.setEnabled(false); } else { delFileAction.setEnabled(true); @@ -332,6 +354,7 @@ public class DesignerFrameFileDealerPane extends JPanel implements FileToolbarSt delFileAction.setEnabled(true); } + otherStateChange(); } /**