From b21232591a6a2a807e9ce309b6db462b7138162b Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Tue, 3 Jul 2012 13:38:54 +0400 Subject: [PATCH] Initial AppCode UI Designer --- .../designer/AndroidDesignerBundle.java | 4 +- .../com/intellij/designer/DesignerBundle.java | 4 +- .../intellij/designer/model/MetaManager.java | 75 +++++++++++-------- .../intellij/designer/model/MetaModel.java | 4 +- 4 files changed, 52 insertions(+), 35 deletions(-) diff --git a/plugins/android-designer/src/com/intellij/android/designer/AndroidDesignerBundle.java b/plugins/android-designer/src/com/intellij/android/designer/AndroidDesignerBundle.java index 6442f216e766..ca279cb87852 100644 --- a/plugins/android-designer/src/com/intellij/android/designer/AndroidDesignerBundle.java +++ b/plugins/android-designer/src/com/intellij/android/designer/AndroidDesignerBundle.java @@ -40,7 +40,9 @@ public class AndroidDesignerBundle { private static ResourceBundle getBundle() { ResourceBundle bundle = null; - if (ourBundle != null) bundle = ourBundle.get(); + if (ourBundle != null) { + bundle = ourBundle.get(); + } if (bundle == null) { bundle = ResourceBundle.getBundle(BUNDLE); ourBundle = new SoftReference(bundle); diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/DesignerBundle.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/DesignerBundle.java index d6ce8f409be6..fe7f687d0a08 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/DesignerBundle.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/DesignerBundle.java @@ -40,7 +40,9 @@ public class DesignerBundle { private static ResourceBundle getBundle() { ResourceBundle bundle = null; - if (ourBundle != null) bundle = ourBundle.get(); + if (ourBundle != null) { + bundle = ourBundle.get(); + } if (bundle == null) { bundle = ResourceBundle.getBundle(BUNDLE); ourBundle = new SoftReference(bundle); diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaManager.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaManager.java index 08b69a16d928..3b06ba5944e7 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaManager.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaManager.java @@ -45,7 +45,7 @@ public abstract class MetaManager { private static final String TAG = "tag"; private static final String WRAP_IN = "wrap-in"; - private static final Logger LOG = Logger.getInstance("#com.intellij.designer.model.MetaManager"); + protected static final Logger LOG = Logger.getInstance("#com.intellij.designer.model.MetaManager"); private final Map myTag2Model = new HashMap(); private final Map myTarget2Model = new HashMap(); @@ -111,7 +111,7 @@ public abstract class MetaManager { String target = element.getAttributeValue("class"); String tag = element.getAttributeValue(TAG); - MetaModel meta = new MetaModel(model, target, tag); + MetaModel meta = createModel(model, target, tag); String layout = element.getAttributeValue("layout"); if (layout != null) { @@ -144,35 +144,7 @@ public abstract class MetaManager { Element properties = element.getChild("properties"); if (properties != null) { - Attribute inplace = properties.getAttribute("inplace"); - if (inplace != null) { - meta.setInplaceProperties(StringUtil.split(inplace.getValue(), " ")); - } - - Attribute top = properties.getAttribute("top"); - if (top != null) { - meta.setTopProperties(StringUtil.split(top.getValue(), " ")); - } - - Attribute normal = properties.getAttribute("normal"); - if (normal != null) { - meta.setNormalProperties(StringUtil.split(normal.getValue(), " ")); - } - - Attribute important = properties.getAttribute("important"); - if (important != null) { - meta.setImportantProperties(StringUtil.split(important.getValue(), " ")); - } - - Attribute expert = properties.getAttribute("expert"); - if (expert != null) { - meta.setExpertProperties(StringUtil.split(expert.getValue(), " ")); - } - - Attribute deprecated = properties.getAttribute("deprecated"); - if (deprecated != null) { - meta.setDeprecatedProperties(StringUtil.split(deprecated.getValue(), " ")); - } + loadProperties(meta, properties); } Element morphing = element.getChild("morphing"); @@ -180,6 +152,8 @@ public abstract class MetaManager { modelToMorphing.put(meta, StringUtil.split(morphing.getAttribute("to").getValue(), " ")); } + loadOther(meta, element); + if (tag != null) { myTag2Model.put(tag, meta); } @@ -189,6 +163,45 @@ public abstract class MetaManager { } } + protected MetaModel createModel(Class model, String target, String tag) throws Exception { + return new MetaModel(model, target, tag); + } + + protected void loadProperties(MetaModel meta, Element properties) throws Exception { + Attribute inplace = properties.getAttribute("inplace"); + if (inplace != null) { + meta.setInplaceProperties(StringUtil.split(inplace.getValue(), " ")); + } + + Attribute top = properties.getAttribute("top"); + if (top != null) { + meta.setTopProperties(StringUtil.split(top.getValue(), " ")); + } + + Attribute normal = properties.getAttribute("normal"); + if (normal != null) { + meta.setNormalProperties(StringUtil.split(normal.getValue(), " ")); + } + + Attribute important = properties.getAttribute("important"); + if (important != null) { + meta.setImportantProperties(StringUtil.split(important.getValue(), " ")); + } + + Attribute expert = properties.getAttribute("expert"); + if (expert != null) { + meta.setExpertProperties(StringUtil.split(expert.getValue(), " ")); + } + + Attribute deprecated = properties.getAttribute("deprecated"); + if (deprecated != null) { + meta.setDeprecatedProperties(StringUtil.split(deprecated.getValue(), " ")); + } + } + + protected void loadOther(MetaModel meta, Element element) throws Exception { + } + private void loadGroup(Element element) throws Exception { PaletteGroup group = new PaletteGroup(element.getAttributeValue(NAME)); diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaModel.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaModel.java index 15769877d2a2..1c55f90cbba6 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaModel.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/model/MetaModel.java @@ -35,8 +35,8 @@ public class MetaModel { private final String myTag; private DefaultPaletteItem myPaletteItem; private String myTitle; - private String myIconPath; - private Icon myIcon; + protected String myIconPath; + protected Icon myIcon; private String myCreation; private boolean myDelete = true; private List myInplaceProperties = Collections.emptyList();