mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-06 11:50:54 +07:00
Work on properties.
This commit is contained in:
@@ -26,7 +26,6 @@ import org.jdom.Element;
|
||||
import org.jdom.input.SAXBuilder;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -52,8 +51,6 @@ public abstract class MetaManager {
|
||||
private final List<PaletteGroup> myPaletteGroups = new ArrayList<PaletteGroup>();
|
||||
private final List<MetaModel> myWrapModels = new ArrayList<MetaModel>();
|
||||
|
||||
private PropertyChangeSupport myPaletteChangeSupport;
|
||||
|
||||
private Map<Object, Object> myCache = new HashMap<Object, Object>();
|
||||
|
||||
protected MetaManager(Project project, String name) {
|
||||
@@ -62,48 +59,51 @@ public abstract class MetaManager {
|
||||
Document document = new SAXBuilder().build(stream);
|
||||
stream.close();
|
||||
|
||||
Element rootElement = document.getRootElement();
|
||||
ClassLoader classLoader = getClass().getClassLoader();
|
||||
|
||||
Map<MetaModel, List<String>> modelToMorphing = new HashMap<MetaModel, List<String>>();
|
||||
|
||||
for (Object element : rootElement.getChildren(META)) {
|
||||
loadModel(classLoader, (Element)element, modelToMorphing);
|
||||
}
|
||||
|
||||
for (Object element : rootElement.getChild(PALETTE).getChildren(GROUP)) {
|
||||
loadGroup((Element)element);
|
||||
}
|
||||
|
||||
Element wrapInElement = rootElement.getChild(WRAP_IN);
|
||||
if (wrapInElement != null) {
|
||||
for (Object element : wrapInElement.getChildren(ITEM)) {
|
||||
Element item = (Element)element;
|
||||
myWrapModels.add(myTag2Model.get(item.getAttributeValue("tag")));
|
||||
}
|
||||
}
|
||||
|
||||
for (Map.Entry<MetaModel, List<String>> entry : modelToMorphing.entrySet()) {
|
||||
MetaModel meta = entry.getKey();
|
||||
List<MetaModel> morphingModels = new ArrayList<MetaModel>();
|
||||
|
||||
for (String tag : entry.getValue()) {
|
||||
MetaModel morphingModel = myTag2Model.get(tag);
|
||||
if (morphingModel != null) {
|
||||
morphingModels.add(morphingModel);
|
||||
}
|
||||
}
|
||||
|
||||
if (!morphingModels.isEmpty()) {
|
||||
meta.setMorphingModels(morphingModels);
|
||||
}
|
||||
}
|
||||
loadDocument(document.getRootElement());
|
||||
}
|
||||
catch (Throwable e) {
|
||||
LOG.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
protected void loadDocument(Element rootElement) throws Exception {
|
||||
ClassLoader classLoader = getClass().getClassLoader();
|
||||
|
||||
Map<MetaModel, List<String>> modelToMorphing = new HashMap<MetaModel, List<String>>();
|
||||
|
||||
for (Object element : rootElement.getChildren(META)) {
|
||||
loadModel(classLoader, (Element)element, modelToMorphing);
|
||||
}
|
||||
|
||||
for (Object element : rootElement.getChild(PALETTE).getChildren(GROUP)) {
|
||||
loadGroup((Element)element);
|
||||
}
|
||||
|
||||
Element wrapInElement = rootElement.getChild(WRAP_IN);
|
||||
if (wrapInElement != null) {
|
||||
for (Object element : wrapInElement.getChildren(ITEM)) {
|
||||
Element item = (Element)element;
|
||||
myWrapModels.add(myTag2Model.get(item.getAttributeValue("tag")));
|
||||
}
|
||||
}
|
||||
|
||||
for (Map.Entry<MetaModel, List<String>> entry : modelToMorphing.entrySet()) {
|
||||
MetaModel meta = entry.getKey();
|
||||
List<MetaModel> morphingModels = new ArrayList<MetaModel>();
|
||||
|
||||
for (String tag : entry.getValue()) {
|
||||
MetaModel morphingModel = myTag2Model.get(tag);
|
||||
if (morphingModel != null) {
|
||||
morphingModels.add(morphingModel);
|
||||
}
|
||||
}
|
||||
|
||||
if (!morphingModels.isEmpty()) {
|
||||
meta.setMorphingModels(morphingModels);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void loadModel(ClassLoader classLoader, Element element, Map<MetaModel, List<String>> modelToMorphing) throws Exception {
|
||||
String modelValue = element.getAttributeValue("model");
|
||||
@@ -242,8 +242,4 @@ public abstract class MetaManager {
|
||||
public List<PaletteGroup> getPaletteGroups() {
|
||||
return myPaletteGroups;
|
||||
}
|
||||
|
||||
public void setPaletteChangeSupport(PropertyChangeSupport paletteChangeSupport) {
|
||||
myPaletteChangeSupport = paletteChangeSupport;
|
||||
}
|
||||
}
|
||||
@@ -64,7 +64,7 @@ import java.util.List;
|
||||
* @author Alexander Lobas
|
||||
*/
|
||||
public final class PropertyTable extends JBTable implements DataProvider, ComponentSelectionListener {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.designer.propertyTable");
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.designer.propertyTable.PropertyTable");
|
||||
|
||||
private final AbstractTableModel myModel = new PropertyTableModel();
|
||||
private List<RadComponent> myComponents = Collections.emptyList();
|
||||
|
||||
Reference in New Issue
Block a user