|
|
@ -5,13 +5,9 @@ package com.fr.design.designer.creator; |
|
|
|
|
|
|
|
|
|
|
|
import com.fr.base.FRContext; |
|
|
|
import com.fr.base.FRContext; |
|
|
|
import com.fr.design.ExtraDesignClassManager; |
|
|
|
import com.fr.design.ExtraDesignClassManager; |
|
|
|
import com.fr.design.designer.creator.cardlayout.XCardAddButton; |
|
|
|
import com.fr.design.designer.creator.cardlayout.*; |
|
|
|
import com.fr.design.designer.creator.cardlayout.XCardSwitchButton; |
|
|
|
import com.fr.design.fun.FormWidgetOptionProvider; |
|
|
|
import com.fr.design.designer.creator.cardlayout.XWCardLayout; |
|
|
|
import com.fr.design.fun.ParameterWidgetOptionProvider; |
|
|
|
import com.fr.design.designer.creator.cardlayout.XWCardMainBorderLayout; |
|
|
|
|
|
|
|
import com.fr.design.designer.creator.cardlayout.XWCardTagLayout; |
|
|
|
|
|
|
|
import com.fr.design.designer.creator.cardlayout.XWCardTitleLayout; |
|
|
|
|
|
|
|
import com.fr.design.designer.creator.cardlayout.XWTabFitLayout; |
|
|
|
|
|
|
|
import com.fr.design.module.DesignModuleFactory; |
|
|
|
import com.fr.design.module.DesignModuleFactory; |
|
|
|
import com.fr.design.utils.gui.LayoutUtils; |
|
|
|
import com.fr.design.utils.gui.LayoutUtils; |
|
|
|
import com.fr.form.parameter.FormSubmitButton; |
|
|
|
import com.fr.form.parameter.FormSubmitButton; |
|
|
@ -24,7 +20,13 @@ import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WCardTagLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WCardTagLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WCardTitleLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WCardTitleLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WTabFitLayout; |
|
|
|
import com.fr.form.ui.container.cardlayout.WTabFitLayout; |
|
|
|
|
|
|
|
import com.fr.general.GeneralContext; |
|
|
|
import com.fr.general.IOUtils; |
|
|
|
import com.fr.general.IOUtils; |
|
|
|
|
|
|
|
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.StringUtils; |
|
|
|
import com.fr.stable.StringUtils; |
|
|
|
|
|
|
|
|
|
|
|
import javax.swing.*; |
|
|
|
import javax.swing.*; |
|
|
@ -40,9 +42,33 @@ import java.lang.reflect.Constructor; |
|
|
|
public class XCreatorUtils { |
|
|
|
public class XCreatorUtils { |
|
|
|
|
|
|
|
|
|
|
|
public static java.util.Map<Class<? extends Widget>, Class<?>> objectMap = new java.util.HashMap<Class<? extends Widget>, Class<?>>(); |
|
|
|
public static java.util.Map<Class<? extends Widget>, Class<?>> objectMap = new java.util.HashMap<Class<? extends Widget>, Class<?>>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static java.util.Map<Class<? extends Widget>, Class<?>> extraObjectMap = new java.util.HashMap<Class<? extends Widget>, Class<?>>(); |
|
|
|
|
|
|
|
|
|
|
|
public static java.util.Map<Class<? extends Widget>, Class<?>> xLayoutMap = new java.util.HashMap<Class<? extends Widget>, Class<?>>(); |
|
|
|
public static java.util.Map<Class<? extends Widget>, Class<?>> xLayoutMap = new java.util.HashMap<Class<? extends Widget>, Class<?>>(); |
|
|
|
|
|
|
|
|
|
|
|
static { |
|
|
|
static { |
|
|
|
|
|
|
|
init(); |
|
|
|
|
|
|
|
GeneralContext.listenPluginRunningChanged(new PluginEventListener() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public void on(PluginEvent event) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reInitExtra(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, new PluginFilter() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
|
|
public boolean accept(PluginContext context) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return context.contain(PluginModule.ExtraDesign, ParameterWidgetOptionProvider.XML_TAG) |
|
|
|
|
|
|
|
|| context.contain(PluginModule.ExtraDesign, FormWidgetOptionProvider.XML_TAG); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static void init() { |
|
|
|
|
|
|
|
|
|
|
|
objectMap.put(TextEditor.class, XTextEditor.class); |
|
|
|
objectMap.put(TextEditor.class, XTextEditor.class); |
|
|
|
objectMap.put(TextArea.class, XTextArea.class); |
|
|
|
objectMap.put(TextArea.class, XTextArea.class); |
|
|
|
objectMap.put(NumberEditor.class, XNumberEditor.class); |
|
|
|
objectMap.put(NumberEditor.class, XNumberEditor.class); |
|
|
@ -95,8 +121,14 @@ public class XCreatorUtils { |
|
|
|
xLayoutMap.put(WTabFitLayout.class, XWTabFitLayout.class); |
|
|
|
xLayoutMap.put(WTabFitLayout.class, XWTabFitLayout.class); |
|
|
|
xLayoutMap.put(WCardMainBorderLayout.class, XWCardMainBorderLayout.class); |
|
|
|
xLayoutMap.put(WCardMainBorderLayout.class, XWCardMainBorderLayout.class); |
|
|
|
|
|
|
|
|
|
|
|
objectMap.putAll(ExtraDesignClassManager.getInstance().getParameterWidgetOptionsMap()); |
|
|
|
reInitExtra(); |
|
|
|
objectMap.putAll(ExtraDesignClassManager.getInstance().getFormWidgetOptionsMap()); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static void reInitExtra() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extraObjectMap.clear(); |
|
|
|
|
|
|
|
extraObjectMap.putAll(ExtraDesignClassManager.getInstance().getParameterWidgetOptionsMap()); |
|
|
|
|
|
|
|
extraObjectMap.putAll(ExtraDesignClassManager.getInstance().getFormWidgetOptionsMap()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static void putExtraEditor() { |
|
|
|
private static void putExtraEditor() { |
|
|
@ -105,8 +137,13 @@ public class XCreatorUtils { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@SuppressWarnings("unchecked") |
|
|
|
private static Class<? extends XCreator> searchXCreatorClass(Class<? extends Widget> clazz) { |
|
|
|
private static Class<? extends XCreator> searchXCreatorClass(Class<? extends Widget> clazz) { |
|
|
|
|
|
|
|
|
|
|
|
Class<? extends XCreator> xClazz = (Class<? extends XCreator>) objectMap.get(clazz); |
|
|
|
Class<? extends XCreator> xClazz = (Class<? extends XCreator>) objectMap.get(clazz); |
|
|
|
|
|
|
|
if (xClazz == null) { |
|
|
|
|
|
|
|
xClazz = (Class<? extends XCreator>) extraObjectMap.get(clazz); |
|
|
|
|
|
|
|
} |
|
|
|
if (xClazz == null) { |
|
|
|
if (xClazz == null) { |
|
|
|
xClazz = (Class<? extends XCreator>) xLayoutMap.get(clazz); |
|
|
|
xClazz = (Class<? extends XCreator>) xLayoutMap.get(clazz); |
|
|
|
} |
|
|
|
} |
|
|
|