From f8c8c6da9957d31263a7897adab4b0420f81c79c Mon Sep 17 00:00:00 2001 From: juhaoyu <2335173323@qq.com> Date: Wed, 21 Jun 2017 09:05:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B7=E6=96=B0=E6=8E=A7=E4=BB=B6=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fr/design/mainframe/FormParaPane.java | 38 +++++++++++++++++-- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/designer_form/src/com/fr/design/mainframe/FormParaPane.java b/designer_form/src/com/fr/design/mainframe/FormParaPane.java index ddf5794c8c..9fab17cfd0 100644 --- a/designer_form/src/com/fr/design/mainframe/FormParaPane.java +++ b/designer_form/src/com/fr/design/mainframe/FormParaPane.java @@ -1,16 +1,23 @@ package com.fr.design.mainframe; -import com.fr.design.constants.UIConstants; import com.fr.design.ExtraDesignClassManager; +import com.fr.design.constants.UIConstants; +import com.fr.design.designer.creator.XCreatorUtils; +import com.fr.design.fun.CellWidgetOptionProvider; import com.fr.design.gui.core.UserDefinedWidgetOption; import com.fr.design.gui.core.WidgetOption; import com.fr.design.gui.ibutton.UIButton; import com.fr.design.gui.ilable.UILabel; -import com.fr.design.designer.creator.XCreatorUtils; +import com.fr.design.utils.gui.LayoutUtils; import com.fr.form.ui.*; +import com.fr.general.GeneralContext; import com.fr.general.Inter; +import com.fr.plugin.context.PluginContext; +import com.fr.plugin.injectable.PluginModule; +import com.fr.plugin.manage.PluginFilter; +import com.fr.plugin.observer.PluginEvent; +import com.fr.plugin.observer.PluginEventListener; import com.fr.stable.ArrayUtils; -import com.fr.design.utils.gui.LayoutUtils; import javax.swing.*; import java.awt.*; @@ -41,7 +48,30 @@ public class FormParaPane extends JPanel { private FormDesigner designer; - + + static { + listenPluginChange(); + } + + private static void listenPluginChange() { + + GeneralContext.listenPluginRunningChanged(new PluginEventListener() { + + @Override + public void on(PluginEvent event) { + + THIS = null; + } + }, new PluginFilter() { + + @Override + public boolean accept(PluginContext context) { + + return context.contain(PluginModule.ExtraDesign, CellWidgetOptionProvider.XML_TAG); + } + }); + } + public static final FormParaPane getInstance(FormDesigner designer) { if(THIS == null) { THIS = new FormParaPane();