gpt4 book ai didi

com.koolearn.klibrary.core.tree.ZLTree类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 12:05:42 27 4
gpt4 key购买 nike

本文整理了Java中com.koolearn.klibrary.core.tree.ZLTree类的一些代码示例,展示了ZLTree类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZLTree类的具体详情如下:
包路径:com.koolearn.klibrary.core.tree.ZLTree
类名称:ZLTree

ZLTree介绍

暂无

代码示例

代码示例来源:origin: ydcx/KooReader

protected ZLTree(T parent, int position) {
  LogUtil.i3("openBookText" + position);
  if (position == -1) {
    position = parent == null ? 0 : parent.subtrees().size();
  }
  if (parent != null && (position < 0 || position > parent.subtrees().size())) {
    throw new IndexOutOfBoundsException("`position` value equals " + position + " but must be in range [0; " + parent.subtrees().size() + "]");
  }
  Parent = parent;
  if (parent != null) {
    Level = parent.Level + 1;
    parent.addSubtree((T)this, position);
  } else {
    Level = 0;
  }
}

代码示例来源:origin: ydcx/KooReader

public void removeSelf() {
  final int subtreeSize = getSize();
  ZLTree<?> parent = Parent;
  if (parent != null) {
    parent.mySubtrees.remove(this);
    for (; parent != null; parent = parent.Parent) {
      parent.mySize -= subtreeSize;
    }
  }
}

代码示例来源:origin: ydcx/KooReader

public final ZLTree<?> getItem(int position) {
  final int index = indexByPosition(position + 1, Root) - 1;
  ZLTree<?> item = myItems[index];
  if (item == null) {
    item = Root.getTreeByParagraphNumber(index + 1);
    myItems[index] = item;
  }
  return item;
}

代码示例来源:origin: Jiangzqts/EpubRead

private final int indexByPosition(int position, ZLTree<?> tree) {
  if (position == 0) {
    return 0;
  }
  --position;
  int index = 1;
  for (ZLTree<?> subtree : tree.subtrees()) {
    int count = getCount(subtree);
    if (count <= position) {
      position -= count;
      index += subtree.getSize();
    } else {
      return index + indexByPosition(position, subtree);
    }
  }
  throw new RuntimeException("That's impossible!!!");
}

代码示例来源:origin: Jiangzqts/EpubRead

private int getCount(ZLTree<?> tree) {
  int count = 1;
  if (isOpen(tree)) {
    for (ZLTree<?> subtree : tree.subtrees()) {
      count += getCount(subtree);
    }
  }
  return count;
}

代码示例来源:origin: Jiangzqts/EpubRead

protected boolean runTreeItem(ZLTree<?> tree) {
  if (!tree.hasChildren()) {
    return false;
  }
  expandOrCollapseTree(tree);
  return true;
}

代码示例来源:origin: ydcx/KooReader

private final int indexByPosition(int position, ZLTree<?> tree) {
  if (position == 0) {
    return 0;
  }
  --position;
  int index = 1;
  for (ZLTree<?> subtree : tree.subtrees()) {
    int count = getCount(subtree);
    if (count <= position) {
      position -= count;
      index += subtree.getSize();
    } else {
      return index + indexByPosition(position, subtree);
    }
  }
  throw new RuntimeException("That's impossible!!!");
}

代码示例来源:origin: ydcx/KooReader

private int getCount(ZLTree<?> tree) {
  int count = 1;
  if (isOpen(tree)) {
    for (ZLTree<?> subtree : tree.subtrees()) {
      count += getCount(subtree);
    }
  }
  return count;
}

代码示例来源:origin: ydcx/KooReader

protected boolean runTreeItem(ZLTree<?> tree) {
  if (!tree.hasChildren()) {
    return false;
  }
  expandOrCollapseTree(tree);
  return true;
}

代码示例来源:origin: Jiangzqts/EpubRead

protected ZLTree(T parent, int position) {
  LogUtil.i3("openBookText" + position);
  if (position == -1) {
    position = parent == null ? 0 : parent.subtrees().size();
  }
  if (parent != null && (position < 0 || position > parent.subtrees().size())) {
    throw new IndexOutOfBoundsException("`position` value equals " + position + " but must be in range [0; " + parent.subtrees().size() + "]");
  }
  Parent = parent;
  if (parent != null) {
    Level = parent.Level + 1;
    parent.addSubtree((T)this, position);
  } else {
    Level = 0;
  }
}

代码示例来源:origin: Jiangzqts/EpubRead

public void removeSelf() {
  final int subtreeSize = getSize();
  ZLTree<?> parent = Parent;
  if (parent != null) {
    parent.mySubtrees.remove(this);
    for (; parent != null; parent = parent.Parent) {
      parent.mySize -= subtreeSize;
    }
  }
}

代码示例来源:origin: ydcx/KooReader

public final void selectItem(ZLTree<?> tree) {
  if (tree == null) {
    return;
  }
  openTree(tree.Parent);
  int index = 0;
  while (true) {
    ZLTree<?> parent = tree.Parent;
    if (parent == null) {
      break;
    }
    for (ZLTree<?> sibling : parent.subtrees()) {
      if (sibling == tree) {
        break;
      }
      index += getCount(sibling);
    }
    tree = parent;
    ++index;
  }
  if (index > 0) {
    myParent.setSelection(index - 1);
  }
  myParent.invalidateViews();
}

代码示例来源:origin: ydcx/KooReader

public final void expandOrCollapseTree(ZLTree<?> tree) {
  if (!tree.hasChildren()) {
    return;
  }
  if (isOpen(tree)) {
    myOpenItems.remove(tree);
  } else {
    myOpenItems.add(tree);
  }
  notifyDataSetChanged();
}

代码示例来源:origin: Jiangzqts/EpubRead

public final ZLTree<?> getItem(int position) {
  final int index = indexByPosition(position + 1, Root) - 1;
  ZLTree<?> item = myItems[index];
  if (item == null) {
    item = Root.getTreeByParagraphNumber(index + 1);
    myItems[index] = item;
  }
  return item;
}

代码示例来源:origin: ydcx/KooReader

synchronized final void addSubtree(T subtree, int position) {
  if (mySubtrees == null) {
    mySubtrees = Collections.synchronizedList(new ArrayList<T>());
  }
  final int subtreeSize = subtree.getSize();
  synchronized (mySubtrees) {
    final int thisSubtreesSize = mySubtrees.size();
    while (position < thisSubtreesSize) {
      subtree = mySubtrees.set(position++, subtree);
    }
    mySubtrees.add(subtree);
    for (ZLTree<?> parent = this; parent != null; parent = parent.Parent) {
      parent.mySize += subtreeSize;
    }
  }
}

代码示例来源:origin: Jiangzqts/EpubRead

public final void selectItem(ZLTree<?> tree) {
  if (tree == null) {
    return;
  }
  openTree(tree.Parent);
  int index = 0;
  while (true) {
    ZLTree<?> parent = tree.Parent;
    if (parent == null) {
      break;
    }
    for (ZLTree<?> sibling : parent.subtrees()) {
      if (sibling == tree) {
        break;
      }
      index += getCount(sibling);
    }
    tree = parent;
    ++index;
  }
  if (index > 0) {
    myParent.setSelection(index - 1);
  }
  myParent.invalidateViews();
}

代码示例来源:origin: Jiangzqts/EpubRead

public final void expandOrCollapseTree(ZLTree<?> tree) {
  if (!tree.hasChildren()) {
    return;
  }
  if (isOpen(tree)) {
    myOpenItems.remove(tree);
  } else {
    myOpenItems.add(tree);
  }
  notifyDataSetChanged();
}

代码示例来源:origin: ydcx/KooReader

public synchronized final T getTreeByParagraphNumber(int index) {
  LogUtil.i3("getTreeByParagraphNumber:"+index);
  if (index < 0 || index >= mySize) {
    // TODO: throw an exception?
    return null;
  }
  if (index == 0) {
    return (T)this;
  }
  --index;
  if (mySubtrees != null) {
    synchronized (mySubtrees) {
      for (T subtree : mySubtrees) {
        if (((ZLTree<?>)subtree).mySize <= index) {
          index -= ((ZLTree<?>)subtree).mySize;
        } else {
          return (T)subtree.getTreeByParagraphNumber(index);
        }
      }
    }
  }
  throw new RuntimeException("That's impossible!!!");
}

代码示例来源:origin: ydcx/KooReader

protected ZLTreeAdapter(ListView parent, ZLTree<?> root) {
  myParent = parent;
  Root = root;
  myItems = new ZLTree[root.getSize() - 1];
  myOpenItems.add(root);
  parent.setAdapter(this);
  parent.setOnItemClickListener(this);
  parent.setOnCreateContextMenuListener(this);
}

代码示例来源:origin: Jiangzqts/EpubRead

public synchronized final T getTreeByParagraphNumber(int index) {
  LogUtil.i3("getTreeByParagraphNumber:"+index);
  if (index < 0 || index >= mySize) {
    // TODO: throw an exception?
    return null;
  }
  if (index == 0) {
    return (T)this;
  }
  --index;
  if (mySubtrees != null) {
    synchronized (mySubtrees) {
      for (T subtree : mySubtrees) {
        if (((ZLTree<?>)subtree).mySize <= index) {
          index -= ((ZLTree<?>)subtree).mySize;
        } else {
          return subtree.getTreeByParagraphNumber(index);
        }
      }
    }
  }
  throw new RuntimeException("That's impossible!!!");
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com