/* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
publicboolean setNodeVisible(Object node, boolean v) { // can't hide root if(node != getRoot()) { if(node instanceof HideableMutableTreeNode) {
HideableMutableTreeNode n = (HideableMutableTreeNode)node; if(v != n.isVisible()) {
TreeNode parent = n.getParent(); if(v) { // need to get index after showing...
n.setVisible(v); int index = getIndexOfChild(parent, n);
nodeInserted(parent, n, index);
} else { // need to get index before hiding... int index = getIndexOfChild(parent, n);
n.setVisible(v);
nodeRemoved(parent, n, index);
}
} returntrue;
}
} returnfalse;
}
public Object getChild(Object parent, int index) { if(parent instanceof TreeNode) {
TreeNode p = (TreeNode) parent; for(int i = 0, j = -1; i < p.getChildCount(); i++) {
TreeNode pc = p.getChildAt(i); if(isNodeVisible(pc)) {
j++;
} if(j == index) { return pc;
}
}
} returnnull;
}
publicint getChildCount(Object parent) { int count = 0; if(parent instanceof TreeNode) {
TreeNode p = (TreeNode) parent; for(int i = 0; i < p.getChildCount(); i++) {
TreeNode pc = p.getChildAt(i); if(isNodeVisible(pc)) {
count++;
}
}
} return count;
}
publicint getIndexOfChild(Object parent, Object child) { int index = -1; if(parent instanceof TreeNode && child instanceof TreeNode) {
TreeNode p = (TreeNode)parent;
TreeNode c = (TreeNode)child; if(isNodeVisible(c)) {
index = 0; for(int i = 0; i < p.getChildCount(); i++) {
TreeNode pc = p.getChildAt(i); if(pc.equals(c)) { return index;
} if(isNodeVisible(pc)) {
index++;
}
}
}
} return index;
}
} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.