move settings into style provider
This commit is contained in:
@ -152,18 +152,8 @@ public class BitVector implements IEvent {
|
||||
currentWord >>= 2;
|
||||
}
|
||||
}
|
||||
for(int i=width; i<64; i++) {
|
||||
if(bitOffset==0) currentWord = packedValues[wordOffset];
|
||||
res|=lastVal<<i;
|
||||
bitOffset += 2;
|
||||
if (bitOffset == 32) {
|
||||
wordOffset++;
|
||||
bitOffset = 0;
|
||||
} else {
|
||||
currentWord >>= 2;
|
||||
}
|
||||
|
||||
}
|
||||
if(lastVal!=0)
|
||||
res |= -1l<<width;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ public class HierNode implements IHierNode {
|
||||
|
||||
protected String name;
|
||||
|
||||
protected String parentName;
|
||||
protected IHierNode parent = null;
|
||||
|
||||
protected ArrayList<IHierNode> childs;
|
||||
|
||||
@ -31,13 +31,14 @@ public class HierNode implements IHierNode {
|
||||
}
|
||||
|
||||
public HierNode(String name) {
|
||||
this(name, "");
|
||||
}
|
||||
|
||||
public HierNode(String name, String parentName) {
|
||||
this();
|
||||
this.name=name;
|
||||
this.parentName=parentName;
|
||||
}
|
||||
|
||||
public HierNode(String name, IHierNode parent) {
|
||||
this();
|
||||
this.name=name;
|
||||
this.parent=parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -53,8 +54,8 @@ public class HierNode implements IHierNode {
|
||||
|
||||
@Override
|
||||
public String getFullName() {
|
||||
if(parentName!=null && parentName.length()>0)
|
||||
return parentName+"."+name;
|
||||
if(parent!=null)
|
||||
return parent.getFullName()+"."+name;
|
||||
else
|
||||
return name;
|
||||
}
|
||||
@ -70,8 +71,8 @@ public class HierNode implements IHierNode {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParentName(String name) {
|
||||
this.parentName=name;
|
||||
public void setParent(IHierNode parent) {
|
||||
this.parent=parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -81,7 +82,7 @@ public class HierNode implements IHierNode {
|
||||
|
||||
@Override
|
||||
public int compareTo(IHierNode o) {
|
||||
return name.compareTo(o.getName());
|
||||
return getFullName().compareTo(o.getFullName());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ public interface IHierNode extends Comparable<IHierNode>{
|
||||
|
||||
public void setName(String name);
|
||||
|
||||
public void setParentName(String name);
|
||||
public void setParent(IHierNode parent);
|
||||
|
||||
public List<IHierNode> getChildNodes();
|
||||
|
||||
|
@ -12,10 +12,9 @@ package com.minres.scviewer.database.internal;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -34,8 +33,6 @@ public class WaveformDb extends HierNode implements IWaveformDb {
|
||||
|
||||
private boolean loaded;
|
||||
|
||||
private List<IHierNode> childNodes;
|
||||
|
||||
private List<RelationType> relationTypes;
|
||||
|
||||
private Map<String, IWaveform> waveforms;
|
||||
@ -93,7 +90,7 @@ public class WaveformDb extends HierNode implements IWaveformDb {
|
||||
buildHierarchyNodes() ;
|
||||
relationTypes.addAll(loader.getAllRelationTypes());
|
||||
pcs.firePropertyChange("WAVEFORMS", null, waveforms);
|
||||
pcs.firePropertyChange("CHILDS", null, childNodes);
|
||||
pcs.firePropertyChange("CHILDS", null, childs);
|
||||
loaded = true;
|
||||
return true;
|
||||
}
|
||||
@ -116,7 +113,7 @@ public class WaveformDb extends HierNode implements IWaveformDb {
|
||||
@Override
|
||||
public void clear() {
|
||||
waveforms.clear();
|
||||
childNodes.clear();
|
||||
childs.clear();
|
||||
loaded=false;
|
||||
}
|
||||
|
||||
@ -125,61 +122,46 @@ public class WaveformDb extends HierNode implements IWaveformDb {
|
||||
}
|
||||
|
||||
private void buildHierarchyNodes() throws InputFormatException{
|
||||
childNodes= new ArrayList<IHierNode>();
|
||||
for(IWaveform stream:getAllWaves()){
|
||||
//updateMaxTime(stream);
|
||||
String[] hier = stream.getName().split("\\.");
|
||||
IHierNode node = this;
|
||||
List<String> path=new LinkedList<String>();
|
||||
path.add(name);
|
||||
for(String name:hier){
|
||||
IHierNode n1 = null;
|
||||
for(int i=0; i<hier.length-1; ++i){
|
||||
String name = hier[i];
|
||||
IHierNode childNode = null;
|
||||
for (IHierNode n : node.getChildNodes()) {
|
||||
if (n.getName().equals(name)) {
|
||||
n1=n;
|
||||
childNode=n;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(name.equals(hier[hier.length-1])){ //leaf
|
||||
if(n1!=null) {
|
||||
if(n1 instanceof HierNode){
|
||||
node.getChildNodes().remove(n1);
|
||||
stream.getChildNodes().addAll(n1.getChildNodes());
|
||||
Collections.sort(stream.getChildNodes());
|
||||
} else {
|
||||
throw new InputFormatException();
|
||||
}
|
||||
}
|
||||
stream.setName(name);
|
||||
stream.setParentName(join(path, "."));
|
||||
node.getChildNodes().add(stream);
|
||||
Collections.sort(node.getChildNodes());
|
||||
node=stream;
|
||||
} else { // intermediate
|
||||
if(n1 != null) {
|
||||
node=n1;
|
||||
} else {
|
||||
HierNode newNode = new HierNode(name, join(path, "."));
|
||||
node.getChildNodes().add(newNode);
|
||||
Collections.sort(node.getChildNodes());
|
||||
node=newNode;
|
||||
}
|
||||
if(childNode != null) {
|
||||
node = childNode;
|
||||
break;
|
||||
}
|
||||
path.add(name);
|
||||
HierNode newNode = new HierNode(name, node);
|
||||
node.getChildNodes().add(newNode);
|
||||
node=newNode;
|
||||
|
||||
}
|
||||
node.getChildNodes().add(stream);
|
||||
stream.setParent(node);
|
||||
stream.setName(hier[hier.length-1]);
|
||||
}
|
||||
sortRecursive(this);
|
||||
}
|
||||
|
||||
private static String join(Collection<?> col, String delim) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Iterator<?> iter = col.iterator();
|
||||
if (iter.hasNext())
|
||||
sb.append(iter.next().toString());
|
||||
while (iter.hasNext()) {
|
||||
sb.append(delim);
|
||||
sb.append(iter.next().toString());
|
||||
}
|
||||
return sb.toString();
|
||||
private void sortRecursive(IHierNode node) {
|
||||
Collections.sort(node.getChildNodes(), new Comparator<IHierNode>() {
|
||||
@Override
|
||||
public int compare(IHierNode o1, IHierNode o2) {
|
||||
return o1.getName().compareTo(o2.getName()); }
|
||||
|
||||
});
|
||||
for(IHierNode n:node.getChildNodes()) {
|
||||
if(n.getChildNodes().size()>0)
|
||||
sortRecursive(n);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user