1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-04 02:09:35 +02:00

related links support

This commit is contained in:
Nikolay Pultsin 2011-05-01 20:51:22 +01:00
parent 7600f00b68
commit f1023791c3
11 changed files with 71 additions and 16 deletions

View file

@ -151,7 +151,8 @@ public class NetworkLibrary {
return filteredList;
}
private final RootTree myRootTree = new RootTree();
private final RootTree myRootTree = new RootTree("@Root");
private final RootTree myFakeRootTree = new RootTree("@FakeRoot");
private SearchItemTree mySearchItemTree;
private boolean myChildrenAreInvalid = true;
@ -404,12 +405,29 @@ public class NetworkLibrary {
return mySearchItemTree;
}
public NetworkCatalogTree getFakeCatalogTree(NetworkCatalogItem item) {
final String id = item.getStringId();
for (FBTree tree : myFakeRootTree.subTrees()) {
final NetworkCatalogTree ncTree = (NetworkCatalogTree)tree;
if (id.equals(ncTree.getUniqueKey().Id)) {
return ncTree;
}
}
return new NetworkCatalogTree(myFakeRootTree, item, 0);
}
public NetworkTree getTreeByKey(NetworkTree.Key key) {
if (key == null) {
return null;
}
if (key.Parent == null) {
return key.equals(myRootTree.getUniqueKey()) ? myRootTree : null;
if (key.equals(myRootTree.getUniqueKey())) {
return myRootTree;
}
if (key.equals(myFakeRootTree.getUniqueKey())) {
return myFakeRootTree;
}
return null;
}
final NetworkTree parentTree = getTreeByKey(key.Parent);
if (parentTree == null) {