|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2003 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.refactoring.ui; import java.util.*; import javax.swing.Icon; import javax.swing.tree.*; import org.netbeans.modules.refactoring.api.RefactoringElement; import org.openide.text.PositionBounds; import javax.jmi.reflect.RefObject; import org.netbeans.jmi.javamodel.Feature; import org.netbeans.jmi.javamodel.Import; import org.netbeans.jmi.javamodel.Resource; import org.netbeans.modules.refactoring.NbAbstractRefactoring; /** * @author Pavel Flaska */ public class CheckNode extends DefaultMutableTreeNode { public final static int SINGLE_SELECTION = 0; public final static int DIG_IN_SELECTION = 4; private int selectionMode; private boolean isSelected; private String nodeLabel; private Icon icon; private boolean disabled = false; private boolean needsRefresh = false; private PositionBounds bounds = null; private boolean boundsInited = false; public CheckNode(Object userObject, String nodeLabel, Icon icon) { super(userObject, !(userObject instanceof RefactoringElement)); this.isSelected = true; setSelectionMode(DIG_IN_SELECTION); this.nodeLabel = nodeLabel; this.icon = icon; } String getLabel() { return nodeLabel; } Icon getIcon() { return icon; } public void setDisabled() { disabled = true; isSelected = false; removeAllChildren(); } boolean isDisabled() { return disabled; } void setNeedsRefresh() { needsRefresh = true; setDisabled(); } boolean needsRefresh() { return needsRefresh; } public void setSelectionMode(int mode) { selectionMode = mode; } public int getSelectionMode() { return selectionMode; } public void setSelected(boolean isSelected) { this.isSelected = isSelected; if (userObject instanceof RefactoringElement) ((RefactoringElement) userObject).setEnabled(isSelected); if ((selectionMode == DIG_IN_SELECTION) && (children != null)) { Enumeration e = children.elements(); while (e.hasMoreElements()) { CheckNode node = (CheckNode)e.nextElement(); node.setSelected(isSelected); } } } public boolean isSelected() { if (userObject instanceof RefactoringElement) { return ((RefactoringElement) userObject).isEnabled() && !(((RefactoringElement) userObject).getStatus() == RefactoringElement.GUARDED); } else { return isSelected; } } public PositionBounds getPosition() { if (!boundsInited) { if (userObject instanceof RefactoringElement) { bounds = ((RefactoringElement) userObject).getPosition(); } else if (userObject instanceof Feature || userObject instanceof Import || userObject instanceof Resource) { bounds = null; //bounds = NbAbstractRefactoring.getPositionBounds((RefObject) userObject); } boundsInited = true; } return bounds; } } |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.