|
|
|
@ -16,6 +16,8 @@ import com.fr.design.data.tabledata.wrapper.AbstractTableDataWrapper;
|
|
|
|
|
import com.fr.design.dialog.BasicDialog; |
|
|
|
|
import com.fr.design.dialog.BasicPane; |
|
|
|
|
import com.fr.design.dialog.DialogActionAdapter; |
|
|
|
|
import com.fr.design.file.HistoryTemplateListCache; |
|
|
|
|
import com.fr.design.fun.TableDataDefineProvider; |
|
|
|
|
import com.fr.design.dialog.FineJOptionPane; |
|
|
|
|
import com.fr.design.fun.TableDataPaneProcessor; |
|
|
|
|
import com.fr.design.gui.ibutton.UIHeadGroup; |
|
|
|
@ -25,12 +27,12 @@ import com.fr.design.gui.itoolbar.UIToolbar;
|
|
|
|
|
import com.fr.design.icon.IconPathConstants; |
|
|
|
|
import com.fr.design.layout.FRGUIPaneFactory; |
|
|
|
|
import com.fr.design.mainframe.DesignerContext; |
|
|
|
|
import com.fr.design.mainframe.JTemplate; |
|
|
|
|
import com.fr.design.menu.MenuDef; |
|
|
|
|
import com.fr.design.menu.SeparatorDef; |
|
|
|
|
import com.fr.design.menu.ToolBarDef; |
|
|
|
|
import com.fr.general.ComparatorUtils; |
|
|
|
|
import com.fr.general.GeneralContext; |
|
|
|
|
|
|
|
|
|
import com.fr.general.NameObject; |
|
|
|
|
import com.fr.plugin.context.PluginContext; |
|
|
|
|
import com.fr.plugin.injectable.PluginModule; |
|
|
|
@ -39,8 +41,13 @@ import com.fr.plugin.observer.PluginEvent;
|
|
|
|
|
import com.fr.plugin.observer.PluginEventListener; |
|
|
|
|
import com.fr.stable.core.PropertyChangeAdapter; |
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
|
import java.awt.*; |
|
|
|
|
import javax.swing.BorderFactory; |
|
|
|
|
import javax.swing.JOptionPane; |
|
|
|
|
import javax.swing.JPanel; |
|
|
|
|
import javax.swing.SwingUtilities; |
|
|
|
|
import javax.swing.ToolTipManager; |
|
|
|
|
import java.awt.BorderLayout; |
|
|
|
|
import java.awt.GridLayout; |
|
|
|
|
import java.awt.dnd.DnDConstants; |
|
|
|
|
import java.awt.event.ActionEvent; |
|
|
|
|
import java.awt.event.MouseAdapter; |
|
|
|
@ -90,22 +97,8 @@ public class TableDataTreePane extends BasicTableDataTreePane {
|
|
|
|
|
|
|
|
|
|
createAddMenuDef(); |
|
|
|
|
|
|
|
|
|
GeneralContext.listenPluginRunningChanged(new PluginEventListener(PLUGIN_LISTENER_PRIORITY) { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void on(PluginEvent event) { |
|
|
|
|
|
|
|
|
|
addMenuDef.clearShortCuts(); |
|
|
|
|
createAddMenuDef(); |
|
|
|
|
} |
|
|
|
|
}, new PluginFilter() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean accept(PluginContext context) { |
|
|
|
|
|
|
|
|
|
return context.contain(PluginModule.ExtraDesign); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
// 创建插件监听
|
|
|
|
|
createPluginListener(); |
|
|
|
|
|
|
|
|
|
editAction = new EditAction(); |
|
|
|
|
removeAction = new RemoveAction(); |
|
|
|
@ -147,6 +140,49 @@ public class TableDataTreePane extends BasicTableDataTreePane {
|
|
|
|
|
checkButtonEnabled(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void createPluginListener() { |
|
|
|
|
|
|
|
|
|
//菜单栏监听
|
|
|
|
|
GeneralContext.listenPluginRunningChanged(new PluginEventListener(PLUGIN_LISTENER_PRIORITY) { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void on(PluginEvent event) { |
|
|
|
|
|
|
|
|
|
addMenuDef.clearShortCuts(); |
|
|
|
|
createAddMenuDef(); |
|
|
|
|
} |
|
|
|
|
}, new PluginFilter() { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean accept(PluginContext context) { |
|
|
|
|
|
|
|
|
|
return context.contain(PluginModule.ExtraDesign); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
//监听数据集插件
|
|
|
|
|
GeneralContext.listenPluginRunningChanged(new PluginEventListener() { |
|
|
|
|
@Override |
|
|
|
|
public void on(PluginEvent event) { |
|
|
|
|
//REPORT-25577
|
|
|
|
|
//如果数据集插件禁用或启用。需要清空当前模板中的缓存
|
|
|
|
|
reloadCurrTemplate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void reloadCurrTemplate() { |
|
|
|
|
JTemplate<?, ?> jt = HistoryTemplateListCache.getInstance().getCurrentEditingTemplate(); |
|
|
|
|
HistoryTemplateListCache.getInstance().closeSelectedReport(jt); |
|
|
|
|
DesignerContext.getDesignerFrame().openTemplate(jt.getEditingFILE()); |
|
|
|
|
} |
|
|
|
|
}, new PluginFilter() { |
|
|
|
|
@Override |
|
|
|
|
public boolean accept(PluginContext pluginContext) { |
|
|
|
|
|
|
|
|
|
return pluginContext.contain(TableDataDefineProvider.XML_TAG); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected void checkButtonEnabled() { |
|
|
|
|
super.checkButtonEnabled(editAction, previewTableDataAction, removeAction, op, dataTree); |
|
|
|
|