|
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-2000 Sun
* Microsystems, Inc. All Rights Reserved.
*/
package org.netbeans.modules.xml.text.completion;
import java.awt.Color;
import org.netbeans.modules.xml.api.model.*;
import javax.swing.text.JTextComponent;
import javax.swing.text.Caret;
/**
* Represent element name (or its part for namespace prefix).
*
* @author sands
* @author Petr Kuzel
*/
class ElementResultItem extends XMLResultItem {
// does it represent start element name?
// then there is more possibilities how to complete it
private final boolean startElement;
private final boolean empty;
/**
* Create a start element result item.
*/
public ElementResultItem(GrammarResult res){
super(res.getNodeName());
foreground = Color.blue;
startElement = true;
empty = res.isEmptyElement();
}
/**
* Create an end element result item.
*/
public ElementResultItem(String name) {
super(name);
foreground = Color.blue;
startElement = false;
empty = false;
}
/**
* Replacenment text can be cutomized to retun pairs, empty tag or
* just name of element.
*/
public String getReplacementText(int modifiers) {
boolean shift = (modifiers & java.awt.event.InputEvent.SHIFT_MASK) != 0;
if (shift && startElement) {
if (empty) {
return displayText + "/>";
} else {
return displayText + ">';
}
} else if (startElement) {
return displayText;
} else {
return displayText + '>';
}
}
/**
* If called with
|
... 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.