From ec4d981fbabfb2628047c6f9199e7269c99182a2 Mon Sep 17 00:00:00 2001 From: Rockdtben Date: Mon, 29 Jan 2018 18:35:00 -0600 Subject: [PATCH] Extracts out Item from ObjectTree and makes it is own class instead of being an inner class. --- .../github/monster860/fastdmm/FastDMM.java | 7 +- .../github/monster860/fastdmm/dmmmap/DMM.java | 3 +- .../fastdmm/dmmmap/TileInstance.java | 5 +- .../editing/MakeActiveObjectListener.java | 6 +- .../editing/ui/ModifiedTypeTableModel.java | 8 +- .../editing/ui/ObjectTreeRenderer.java | 7 +- .../fastdmm/objtree/ModifiedType.java | 6 +- .../fastdmm/objtree/ObjectTree.java | 203 +++--------------- .../fastdmm/objtree/ObjectTreeItem.java | 154 +++++++++++++ .../fastdmm/objtree/ObjectTreeParser.java | 2 +- 10 files changed, 208 insertions(+), 193 deletions(-) create mode 100644 src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeItem.java diff --git a/src/main/java/com/github/monster860/fastdmm/FastDMM.java b/src/main/java/com/github/monster860/fastdmm/FastDMM.java index 02a0d0b..7ff4b5e 100644 --- a/src/main/java/com/github/monster860/fastdmm/FastDMM.java +++ b/src/main/java/com/github/monster860/fastdmm/FastDMM.java @@ -39,6 +39,7 @@ import com.github.monster860.fastdmm.objtree.ModifiedType; import com.github.monster860.fastdmm.objtree.ObjInstance; import com.github.monster860.fastdmm.objtree.ObjectTree; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; import com.github.monster860.fastdmm.objtree.ObjectTreeParser; import org.lwjgl.LWJGLException; @@ -101,7 +102,7 @@ public class FastDMM extends JFrame implements ActionListener, TreeSelectionList SortedSet filters; public ObjectTree objTree; - public ObjectTree.Item selectedObject; + public ObjectTreeItem selectedObject; public ObjInstance selectedInstance; private boolean hasLoadedImageThisFrame = false; @@ -371,8 +372,8 @@ public void stateChanged(ChangeEvent e) { @Override public void valueChanged(TreeSelectionEvent arg0) { - if (arg0.getPath().getLastPathComponent() instanceof ObjectTree.Item) { - selectedObject = (ObjectTree.Item) arg0.getPath().getLastPathComponent(); + if (arg0.getPath().getLastPathComponent() instanceof ObjectTreeItem) { + selectedObject = (ObjectTreeItem) arg0.getPath().getLastPathComponent(); instancesVis.setModel(selectedObject); if(selectedInstance == null || objTree.get(selectedInstance.typeString()) != selectedObject) selectedInstance = selectedObject; diff --git a/src/main/java/com/github/monster860/fastdmm/dmmmap/DMM.java b/src/main/java/com/github/monster860/fastdmm/dmmmap/DMM.java index 357b8f3..f6e58e4 100644 --- a/src/main/java/com/github/monster860/fastdmm/dmmmap/DMM.java +++ b/src/main/java/com/github/monster860/fastdmm/dmmmap/DMM.java @@ -17,6 +17,7 @@ import com.github.monster860.fastdmm.FastDMM; import com.github.monster860.fastdmm.editing.DMMDiff; import com.github.monster860.fastdmm.objtree.ObjectTree; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; // DMM loader - Where you will get confused by all the regex. @@ -346,7 +347,7 @@ public void setSize(int nMinX, int nMinY, int nMinZ, int nMaxX, int nMaxY, int n maxY = nMaxY; maxZ = nMaxZ; - ObjectTree.Item world = objTree.get("/world"); + ObjectTreeItem world = objTree.get("/world"); if(world == null) return; diff --git a/src/main/java/com/github/monster860/fastdmm/dmmmap/TileInstance.java b/src/main/java/com/github/monster860/fastdmm/dmmmap/TileInstance.java index 76f5a4e..73c66e8 100644 --- a/src/main/java/com/github/monster860/fastdmm/dmmmap/TileInstance.java +++ b/src/main/java/com/github/monster860/fastdmm/dmmmap/TileInstance.java @@ -12,6 +12,7 @@ import com.github.monster860.fastdmm.objtree.ModifiedType; import com.github.monster860.fastdmm.objtree.ObjInstance; import com.github.monster860.fastdmm.objtree.ObjectTree; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; public class TileInstance { public List objs; @@ -177,7 +178,7 @@ public String addObject(ObjInstance obj) { // Removes the bottom-most occurence of the obj. public String removeObject(ObjInstance obj) { TileInstance ti = new TileInstance(new ArrayList<>(objs), dmm); - ObjectTree.Item replacement = null; + ObjectTreeItem replacement = null; if(obj.istype("/area")) replacement = dmm.objTree.get(dmm.objTree.get("/world").getVar("area")); else if(obj.istype("/turf")) { @@ -197,7 +198,7 @@ else if(obj.istype("/turf")) { public String removeObjectOrSubtypes(ObjInstance obj) { TileInstance ti = new TileInstance(new ArrayList<>(objs), dmm); - ObjectTree.Item replacement = null; + ObjectTreeItem replacement = null; if(obj.istype("/area")) replacement = dmm.objTree.get(dmm.objTree.get("/world").getVar("area")); else if(obj.istype("/turf")) { diff --git a/src/main/java/com/github/monster860/fastdmm/editing/MakeActiveObjectListener.java b/src/main/java/com/github/monster860/fastdmm/editing/MakeActiveObjectListener.java index c09beb8..7f95be1 100644 --- a/src/main/java/com/github/monster860/fastdmm/editing/MakeActiveObjectListener.java +++ b/src/main/java/com/github/monster860/fastdmm/editing/MakeActiveObjectListener.java @@ -12,7 +12,7 @@ import com.github.monster860.fastdmm.dmmmap.Location; import com.github.monster860.fastdmm.objtree.ModifiedType; import com.github.monster860.fastdmm.objtree.ObjInstance; -import com.github.monster860.fastdmm.objtree.ObjectTree; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; public class MakeActiveObjectListener implements ActionListener { FastDMM editor; @@ -28,10 +28,10 @@ public void actionPerformed(ActionEvent e) { if(editor.dmm == null) return; synchronized(editor) { - editor.selectedObject = oInstance instanceof ObjectTree.Item ? (ObjectTree.Item)oInstance : ((ModifiedType)oInstance).parent; + editor.selectedObject = oInstance instanceof ObjectTreeItem ? (ObjectTreeItem)oInstance : ((ModifiedType)oInstance).parent; editor.selectedInstance = oInstance; List path = new LinkedList<>(); - ObjectTree.Item curr = editor.selectedObject; + ObjectTreeItem curr = editor.selectedObject; while(curr != null && (curr.istype("/area") || curr.istype("/mob") || curr.istype("/obj") || curr.istype("/turf"))) { path.add(0, curr); curr = curr.parent; diff --git a/src/main/java/com/github/monster860/fastdmm/editing/ui/ModifiedTypeTableModel.java b/src/main/java/com/github/monster860/fastdmm/editing/ui/ModifiedTypeTableModel.java index c40df34..c81dbb5 100644 --- a/src/main/java/com/github/monster860/fastdmm/editing/ui/ModifiedTypeTableModel.java +++ b/src/main/java/com/github/monster860/fastdmm/editing/ui/ModifiedTypeTableModel.java @@ -5,7 +5,7 @@ import javax.swing.table.AbstractTableModel; import com.github.monster860.fastdmm.objtree.ModifiedType; -import com.github.monster860.fastdmm.objtree.ObjectTree; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; public class ModifiedTypeTableModel extends AbstractTableModel { private static final long serialVersionUID = 3829092639624884439L; @@ -26,8 +26,8 @@ public void rebuildTableList() { displayedKeys.clear(); displayedVals.clear(); - List parentTypes = new ArrayList<>(); - for(ObjectTree.Item currItem = type.parent; currItem != null ;currItem = currItem.parent) { + List parentTypes = new ArrayList<>(); + for(ObjectTreeItem currItem = type.parent; currItem != null ;currItem = currItem.parent) { parentTypes.add(0, currItem); } @@ -35,7 +35,7 @@ public void rebuildTableList() { usedVars.add("type"); // These vars are represented in the object tree for the sole purpose of compatibility with games that modify parentType. usedVars.add("parentType"); - for(ObjectTree.Item currItem : parentTypes) { + for(ObjectTreeItem currItem : parentTypes) { TreeMap sortedVars = new TreeMap(); for(Map.Entry ent : currItem.vars.entrySet()) { if(usedVars.contains(ent.getKey())) diff --git a/src/main/java/com/github/monster860/fastdmm/editing/ui/ObjectTreeRenderer.java b/src/main/java/com/github/monster860/fastdmm/editing/ui/ObjectTreeRenderer.java index d334fd3..a24fc7f 100644 --- a/src/main/java/com/github/monster860/fastdmm/editing/ui/ObjectTreeRenderer.java +++ b/src/main/java/com/github/monster860/fastdmm/editing/ui/ObjectTreeRenderer.java @@ -8,8 +8,7 @@ import com.github.monster860.fastdmm.FastDMM; import com.github.monster860.fastdmm.dmirender.DMI; import com.github.monster860.fastdmm.dmirender.IconSubstate; -import com.github.monster860.fastdmm.objtree.ObjectTree; -import com.github.monster860.fastdmm.objtree.ObjectTree.Item; +import com.github.monster860.fastdmm.objtree.ObjectTreeItem; public class ObjectTreeRenderer extends DefaultTreeCellRenderer { private static final long serialVersionUID = 931493078348635512L; @@ -20,8 +19,8 @@ public ObjectTreeRenderer(FastDMM fdmm) { } public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus); - if(value instanceof ObjectTree.Item) { - ObjectTree.Item item = (ObjectTree.Item)value; + if(value instanceof ObjectTreeItem) { + ObjectTreeItem item = (ObjectTreeItem)value; setText(item.parentlessName()); setToolTipText(item.path); diff --git a/src/main/java/com/github/monster860/fastdmm/objtree/ModifiedType.java b/src/main/java/com/github/monster860/fastdmm/objtree/ModifiedType.java index b3f2ffa..0f97678 100644 --- a/src/main/java/com/github/monster860/fastdmm/objtree/ModifiedType.java +++ b/src/main/java/com/github/monster860/fastdmm/objtree/ModifiedType.java @@ -51,9 +51,9 @@ public static final ObjInstance fromString(String s, ObjectTree objtree, DMM dmm } public static final ModifiedType deriveFrom(ObjInstance i) { - if(i instanceof ObjectTree.Item){ + if(i instanceof ObjectTreeItem){ ModifiedType mt = new ModifiedType(new TreeMap<>(), i.typeString()); - mt.parent = (ObjectTree.Item)i; + mt.parent = (ObjectTreeItem)i; return mt; } else { ModifiedType p = (ModifiedType)i; @@ -65,7 +65,7 @@ public static final ModifiedType deriveFrom(ObjInstance i) { public Map vars; public String parentType; - public ObjectTree.Item parent; + public ObjectTreeItem parent; @Override public String getVar(String key) { diff --git a/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTree.java b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTree.java index a18cb43..8321a55 100644 --- a/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTree.java +++ b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTree.java @@ -19,7 +19,7 @@ public class ObjectTree implements TreeModel { public static String macroRegex = "([\\d\\.]+)[ \\t]*(\\+|\\-)[ \\t]*([\\d\\.]+)"; - public HashMap items = new HashMap<>(); + public HashMap items = new HashMap<>(); public String dmePath; // List of all FILE_DIR definitions. @@ -34,11 +34,11 @@ public ObjectTree() { // Default datums - Item datum = new Item(null, "/datum"); + ObjectTreeItem datum = new ObjectTreeItem(null, "/datum"); datum.setVar("tag","null"); addItem(datum); - Item atom = new Item(datum, "/atom"); + ObjectTreeItem atom = new ObjectTreeItem(datum, "/atom"); atom.setVar("alpha", "255"); atom.setVar("appearance_flags", "0"); atom.setVar("blend_mode", "0"); @@ -77,7 +77,7 @@ public ObjectTree() atom.setVar("verbs", "list()"); addItem(atom); - Item movable = new Item(atom, "/atom/movable"); + ObjectTreeItem movable = new ObjectTreeItem(atom, "/atom/movable"); movable.setVar("animate_movement", "1"); movable.setVar("bound_x", "0"); movable.setVar("bound_y", "0"); @@ -90,20 +90,20 @@ public ObjectTree() movable.setVar("step_y", "0"); addItem(movable); - Item area = new Item(atom, "/area"); + ObjectTreeItem area = new ObjectTreeItem(atom, "/area"); area.setVar("layer", "1"); area.setVar("luminosity", "1"); addItem(area); - Item turf = new Item(atom, "/turf"); + ObjectTreeItem turf = new ObjectTreeItem(atom, "/turf"); turf.setVar("layer", "2"); addItem(turf); - Item obj = new Item(movable, "/obj"); + ObjectTreeItem obj = new ObjectTreeItem(movable, "/obj"); obj.setVar("layer", "3"); addItem(obj); - Item mob = new Item(movable, "/mob"); + ObjectTreeItem mob = new ObjectTreeItem(movable, "/mob"); mob.setVar("ckey", "null"); mob.setVar("density", "1"); mob.setVar("key", "null"); @@ -114,7 +114,7 @@ public ObjectTree() mob.setVar("sight", "0"); addItem(mob); - Item world = new Item(datum, "/world"); + ObjectTreeItem world = new ObjectTreeItem(datum, "/world"); world.setVar("turf", "/turf"); world.setVar("mob", "/mob"); world.setVar("area", "/area"); @@ -123,7 +123,7 @@ public ObjectTree() fileDirs.add(Paths.get("")); } - public Item getOrCreate(String path) { + public ObjectTreeItem getOrCreate(String path) { if(items.containsKey(path)) return items.get(path); @@ -132,27 +132,27 @@ public Item getOrCreate(String path) { parentPath = path.substring(0, path.lastIndexOf("/")); else parentPath = "/datum"; - Item parentItem = getOrCreate(parentPath); - Item item = new Item(parentItem, path); + ObjectTreeItem parentItem = getOrCreate(parentPath); + ObjectTreeItem item = new ObjectTreeItem(parentItem, path); items.put(path, item); return item; } - public Item get(String path) { + public ObjectTreeItem get(String path) { if(items.containsKey(path)) return items.get(path); else return null; } - public void addItem(Item item) + public void addItem(ObjectTreeItem item) { items.put(item.path, item); } public void dumpTree(PrintStream ps) { - for(Item item : items.values()) + for(ObjectTreeItem item : items.values()) { ps.println(item.path); for(Entry var : item.vars.entrySet()) @@ -162,7 +162,7 @@ public void dumpTree(PrintStream ps) } } - public Item getGlobal() { + public ObjectTreeItem getGlobal() { return items.get(""); } @@ -170,11 +170,11 @@ public Item getGlobal() { public void completeTree() { // Clear children and parse expressions - Item global = getGlobal(); + ObjectTreeItem global = getGlobal(); System.gc(); - for(Item i : items.values()) { + for(ObjectTreeItem i : items.values()) { i.subtypes.clear(); for(Entry e : i.vars.entrySet()) { @@ -236,8 +236,8 @@ public void completeTree() { } System.gc(); // Assign parents/children - for(Item i : items.values()) { - Item parent = get(i.getVar("parentType")); + for(ObjectTreeItem i : items.values()) { + ObjectTreeItem parent = get(i.getVar("parentType")); if(parent != null) { i.parent = parent; parent.subtypes.add(i); @@ -245,7 +245,7 @@ public void completeTree() { } System.gc(); // Sort children - for(Item i : items.values()) { + for(ObjectTreeItem i : items.values()) { i.subtypes.sort((arg0, arg1) -> arg0.path.compareToIgnoreCase(arg1.path)); } @@ -256,147 +256,6 @@ public void completeTree() { } } - public static class Item extends ObjInstance implements ListModel { - public Item(Item parent, String path) - { - path = path.trim(); - this.path = path; - this.parent = parent; - vars.put("type", path); - if(parent != null) - { - parent.subtypes.add(this); - vars.put("parentType", parent.path); - } - instances.add(this); - } - - public Item(String path) - { - this.path = path; - vars.put("type", path); - instances.add(this); - } - - public boolean istype(String path) { - if(this.path.equals(path)) - return true; - if(parent != null) - return parent.istype(path); - return false; - } - - public void setVar(String key, String value) - { - vars.put(key, value); - } - - public void setVar(String key) - { - if(!vars.containsKey(key)) - vars.put(key, "null"); - } - - public String getVar(String key) - { - if(vars.containsKey(key)) - return vars.get(key); - if(parent != null) - return parent.getVar(key); - return null; - } - - public Map getAllVars() { - Map allVars = new TreeMap<>(); - if(parent != null) - allVars.putAll(parent.getAllVars()); - allVars.putAll(vars); - return allVars; - } - - public String path = ""; - public ArrayList subtypes = new ArrayList<>(); - public Item parent = null; - public Map vars = new TreeMap<>(); - public List instances = new ArrayList<>(); - - public void addInstance(ObjInstance instance) { - if(instances.contains(instance)) - return; - instances.add(instance); - Collections.sort(instances, (o1, o2) -> { - if(o1 instanceof Item) - return -1; - if(o2 instanceof Item) - return 1; - return o1.toString().compareToIgnoreCase(o2.toString()); - }); - int index = instances.indexOf(instance); - ListDataEvent event = new ListDataEvent(this, ListDataEvent.INTERVAL_ADDED, index, index); - for(ListDataListener l : listeners) { - l.intervalAdded(event); - } - } - - public void removeInstance(ObjInstance instance) { - int index = instances.indexOf(instance); - if(index == -1) - return; - instances.remove(instance); - ListDataEvent event = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, index, index); - for(ListDataListener l : listeners) { - l.intervalRemoved(event); - } - } - - public String parentlessName() { - if(path.startsWith(parent.path)) - return path.substring(parent.path.length()); - else - return path; - } - - @Override - public String typeString() { - return path; - } - - @Override - public String toString() { - return path; - } - - @Override - public String toStringTGM() { - return path; - } - - private HashSet listeners = new HashSet<>(); - - @Override - public void addListDataListener(ListDataListener arg0) { - listeners.add(arg0); - } - - @Override - public ObjInstance getElementAt(int arg0) { - // TODO Auto-generated method stub - return instances.get(arg0); - } - - @Override - public int getSize() { - // TODO Auto-generated method stub - return instances.size(); - } - - @Override - public void removeListDataListener(ListDataListener arg0) { - listeners.remove(arg0); - } - - } - @Override public void addTreeModelListener(TreeModelListener arg0) { // We don't change. @@ -415,8 +274,8 @@ public Object getChild(Object arg0, int arg1) { case 3: return get("/turf"); } - } else if (arg0 instanceof Item) { - Item item = (Item)arg0; + } else if (arg0 instanceof ObjectTreeItem) { + ObjectTreeItem item = (ObjectTreeItem)arg0; return item.subtypes.get(arg1); } return null; @@ -426,17 +285,17 @@ public Object getChild(Object arg0, int arg1) { public int getChildCount(Object arg0) { if(arg0 == this) return 4; - if(arg0 instanceof Item) { - return ((Item)arg0).subtypes.size(); + if(arg0 instanceof ObjectTreeItem) { + return ((ObjectTreeItem)arg0).subtypes.size(); } return 0; } @Override public int getIndexOfChild(Object arg0, Object arg1) { - if(!(arg1 instanceof Item)) + if(!(arg1 instanceof ObjectTreeItem)) return 0; - Item item = (Item)arg1; + ObjectTreeItem item = (ObjectTreeItem)arg1; if(arg0 == this) { switch(item.path) { case "/area": @@ -449,8 +308,8 @@ public int getIndexOfChild(Object arg0, Object arg1) { return 3; } } - if(arg0 instanceof Item) - return ((Item)arg0).subtypes.indexOf(arg1); + if(arg0 instanceof ObjectTreeItem) + return ((ObjectTreeItem)arg0).subtypes.indexOf(arg1); return 0; } @@ -463,8 +322,8 @@ public Object getRoot() { public boolean isLeaf(Object arg0) { if(arg0 == this) return false; - if(arg0 instanceof Item) - return ((Item)arg0).subtypes.size() == 0; + if(arg0 instanceof ObjectTreeItem) + return ((ObjectTreeItem)arg0).subtypes.size() == 0; return true; } diff --git a/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeItem.java b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeItem.java new file mode 100644 index 0000000..b5e37f5 --- /dev/null +++ b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeItem.java @@ -0,0 +1,154 @@ +package com.github.monster860.fastdmm.objtree; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import javax.swing.ListModel; +import javax.swing.event.ListDataEvent; +import javax.swing.event.ListDataListener; + +public class ObjectTreeItem extends ObjInstance implements ListModel { + public ObjectTreeItem(ObjectTreeItem parent, String path) + { + path = path.trim(); + this.path = path; + this.parent = parent; + vars.put("type", path); + if(parent != null) + { + parent.subtypes.add(this); + vars.put("parentType", parent.path); + } + instances.add(this); + } + + public ObjectTreeItem(String path) + { + this.path = path; + vars.put("type", path); + instances.add(this); + } + + public boolean istype(String path) { + if(this.path.equals(path)) + return true; + if(parent != null) + return parent.istype(path); + return false; + } + + public void setVar(String key, String value) + { + vars.put(key, value); + } + + public void setVar(String key) + { + if(!vars.containsKey(key)) + vars.put(key, "null"); + } + + public String getVar(String key) + { + if(vars.containsKey(key)) + return vars.get(key); + if(parent != null) + return parent.getVar(key); + return null; + } + + public Map getAllVars() { + Map allVars = new TreeMap<>(); + if(parent != null) + allVars.putAll(parent.getAllVars()); + allVars.putAll(vars); + return allVars; + } + + public String path = ""; + public ArrayList subtypes = new ArrayList<>(); + public ObjectTreeItem parent = null; + public Map vars = new TreeMap<>(); + public List instances = new ArrayList<>(); + + public void addInstance(ObjInstance instance) { + if(instances.contains(instance)) + return; + instances.add(instance); + Collections.sort(instances, (o1, o2) -> { + if(o1 instanceof ObjectTreeItem) + return -1; + if(o2 instanceof ObjectTreeItem) + return 1; + return o1.toString().compareToIgnoreCase(o2.toString()); + }); + int index = instances.indexOf(instance); + ListDataEvent event = new ListDataEvent(this, ListDataEvent.INTERVAL_ADDED, index, index); + for(ListDataListener l : listeners) { + l.intervalAdded(event); + } + } + + public void removeInstance(ObjInstance instance) { + int index = instances.indexOf(instance); + if(index == -1) + return; + instances.remove(instance); + ListDataEvent event = new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, index, index); + for(ListDataListener l : listeners) { + l.intervalRemoved(event); + } + } + + public String parentlessName() { + if(path.startsWith(parent.path)) + return path.substring(parent.path.length()); + else + return path; + } + + @Override + public String typeString() { + return path; + } + + @Override + public String toString() { + return path; + } + + @Override + public String toStringTGM() { + return path; + } + + private HashSet listeners = new HashSet<>(); + + @Override + public void addListDataListener(ListDataListener arg0) { + listeners.add(arg0); + } + + @Override + public ObjInstance getElementAt(int arg0) { + // TODO Auto-generated method stub + return instances.get(arg0); + } + + @Override + public int getSize() { + // TODO Auto-generated method stub + return instances.size(); + } + + @Override + public void removeListDataListener(ListDataListener arg0) { + listeners.remove(arg0); + } + +} + diff --git a/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeParser.java b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeParser.java index c49ec3e..d48343c 100644 --- a/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeParser.java +++ b/src/main/java/com/github/monster860/fastdmm/objtree/ObjectTreeParser.java @@ -200,7 +200,7 @@ else if (line.startsWith("#undef")) { } affectedObjectPath += "/" + item; } - ObjectTree.Item item = tree.getOrCreate(affectedObjectPath); + ObjectTreeItem item = tree.getOrCreate(affectedObjectPath); if (fullPath.contains("(") && fullPath.indexOf("(") < fullPath.lastIndexOf("/")) continue; fullPath = fullPath.replaceAll("/tmp", ""); // Let's avoid giving a shit about whether the var is tmp, static, or global.