use of ucar.nc2.Attribute in project JMRI by JMRI.
the class EngineManager method store.
/**
* Create an XML element to represent this Entry. This member has to remain
* synchronized with the detailed DTD in operations-engines.dtd.
* @param root The common Element for operations-engines.dtd.
*
*/
public void store(Element root) {
// root.addContent(new Element(Xml.OPTIONS)); // nothing to store under options
Element values;
List<String> names = getConsistNameList();
if (Control.backwardCompatible) {
root.addContent(values = new Element(Xml.CONSISTS));
for (String name : names) {
// NOI18N
String consistNames = name + "%%";
values.addContent(consistNames);
}
}
// new format using elements
Element consists = new Element(Xml.NEW_CONSISTS);
for (String name : names) {
Element consist = new Element(Xml.CONSIST);
consist.setAttribute(new Attribute(Xml.NAME, name));
consists.addContent(consist);
}
root.addContent(consists);
root.addContent(values = new Element(Xml.ENGINES));
// add entries
for (RollingStock rs : getByRoadNameList()) {
Engine eng = (Engine) rs;
values.addContent(eng.store());
}
}
use of ucar.nc2.Attribute in project JMRI by JMRI.
the class RpsPositionIconXml method load.
/**
* Create a PositionableLabel, then add to a target JLayeredPane
*
* @param element Top level Element to unpack.
* @param o an Editor as an Object
*/
@Override
public void load(Element element, Object o) {
Editor ed = (Editor) o;
RpsPositionIcon l = new RpsPositionIcon(ed);
// create the objects
String name = element.getAttribute("active").getValue();
NamedIcon active = NamedIcon.getIconByName(name);
if (active == null) {
active = ed.loadFailed("RpsPositionIcon: icon \"active\" ", name);
if (active == null) {
log.info("RpsPositionIcon: icon \"active\" removed for url= " + name);
return;
}
}
l.setActiveIcon(active);
name = element.getAttribute("error").getValue();
NamedIcon error = NamedIcon.getIconByName(name);
if (error == null) {
error = ed.loadFailed("RpsPositionIcon: icon \"error\" ", name);
if (error == null) {
log.info("RpsPositionIcon: \"error\" removed for url= " + name);
return;
}
}
l.setErrorIcon(error);
try {
Attribute a = element.getAttribute("rotate");
if (a != null) {
int rotation = element.getAttribute("rotate").getIntValue();
active.setRotation(rotation, l);
error.setRotation(rotation, l);
}
} catch (org.jdom2.DataConversionException e) {
}
Attribute a = element.getAttribute("momentary");
if ((a != null) && a.getValue().equals("true")) {
l.setMomentary(true);
} else {
l.setMomentary(false);
}
a = element.getAttribute("showid");
if ((a != null) && a.getValue().equals("true")) {
l.setShowID(true);
} else {
l.setShowID(false);
}
a = element.getAttribute("filter");
if (a != null) {
l.setFilter(a.getValue());
}
double sxScale = 0.;
double syScale = 0.;
int sxOrigin = 0;
int syOrigin = 0;
try {
sxScale = element.getAttribute("sxscale").getDoubleValue();
syScale = element.getAttribute("syscale").getDoubleValue();
sxOrigin = element.getAttribute("sxorigin").getIntValue();
syOrigin = element.getAttribute("syorigin").getIntValue();
} catch (NullPointerException e1) {
log.error("missing transform attribute");
} catch (org.jdom2.DataConversionException e2) {
log.error("failed to convert transform attributes");
}
l.setTransform(sxScale, syScale, sxOrigin, syOrigin);
NamedIcon icon = loadIcon(l, "active", element, "RpsPositionIcon ", ed);
if (icon != null) {
l.setActiveIcon(icon);
}
icon = loadIcon(l, "error", element, "RpsPositionIcon ", ed);
if (icon != null) {
l.setErrorIcon(icon);
}
ed.putItem(l);
// load individual item's option settings after editor has set its global settings
loadCommonAttributes(l, Editor.SENSORS, element);
}
use of ucar.nc2.Attribute in project JMRI by JMRI.
the class MemoryIconXml method load.
/**
* Load, starting with the memoryicon element, then all the value-icon pairs
*
* @param element Top level Element to unpack.
* @param o an Editor as an Object
*/
@Override
public void load(Element element, Object o) {
Editor ed = null;
MemoryIcon l;
if (o instanceof LayoutEditor) {
ed = (LayoutEditor) o;
l = new jmri.jmrit.display.layoutEditor.MemoryIcon(" ", (LayoutEditor) ed);
} else if (o instanceof jmri.jmrit.display.Editor) {
ed = (Editor) o;
l = new MemoryIcon("", ed);
} else {
log.error("Unrecognizable class - " + o.getClass().getName());
return;
}
String name;
Attribute attr = element.getAttribute("memory");
if (attr == null) {
log.error("incorrect information for a memory location; must use memory name");
ed.loadFailed();
return;
} else {
name = attr.getValue();
}
loadTextInfo(l, element);
Memory m = jmri.InstanceManager.memoryManagerInstance().getMemory(name);
if (m != null) {
l.setMemory(name);
} else {
log.error("Memory named '" + attr.getValue() + "' not found.");
ed.loadFailed();
}
Attribute a = element.getAttribute("selectable");
if (a != null && a.getValue().equals("yes")) {
l.setSelectable(true);
} else {
l.setSelectable(false);
}
a = element.getAttribute("updateBlockValue");
if (a != null && a.getValue().equals("yes")) {
l.updateBlockValueOnChange(true);
}
// get the icon pairs
List<Element> items = element.getChildren("memorystate");
for (int i = 0; i < items.size(); i++) {
// get the class, hence the adapter object to do loading
Element item = items.get(i);
String iconName = item.getAttribute("icon").getValue();
NamedIcon icon = NamedIcon.getIconByName(iconName);
if (icon == null) {
icon = ed.loadFailed("Memory " + name, iconName);
if (icon == null) {
log.info("Memory \"" + name + "\" icon removed for url= " + iconName);
}
}
if (icon != null) {
String keyValue = item.getAttribute("value").getValue();
l.addKeyAndIcon(icon, keyValue);
}
}
ed.putItem(l);
// load individual item's option settings after editor has set its global settings
loadCommonAttributes(l, Editor.MEMORIES, element);
int x = 0;
int y = 0;
try {
x = element.getAttribute("x").getIntValue();
y = element.getAttribute("y").getIntValue();
} catch (org.jdom2.DataConversionException e) {
log.error("failed to convert positional attribute");
}
l.setOriginalLocation(x, y);
l.displayState();
}
use of ucar.nc2.Attribute in project JMRI by JMRI.
the class MemoryInputIconXml method load.
/**
* Load, starting with the memoryInputIcon element, then all the value-icon
* pairs
*
* @param element Top level Element to unpack.
* @param o an Editor as an Object
*/
@Override
public void load(Element element, Object o) {
// create the objects
Editor p = (Editor) o;
int nCol = 2;
try {
nCol = element.getAttribute("colWidth").getIntValue();
} catch (org.jdom2.DataConversionException e) {
log.error("failed to convert colWidth attribute");
}
MemoryInputIcon l = new MemoryInputIcon(nCol, p);
loadTextInfo(l, element);
String name;
Attribute attr = element.getAttribute("memory");
if (attr == null) {
log.error("incorrect information for a memory location; must use memory name");
p.loadFailed();
return;
} else {
name = attr.getValue();
}
Memory m = jmri.InstanceManager.memoryManagerInstance().getMemory(name);
if (m != null) {
l.setMemory(name);
} else {
log.error("Memory named '" + attr.getValue() + "' not found.");
p.loadFailed();
return;
}
p.putItem(l);
// load individual item's option settings after editor has set its global settings
loadCommonAttributes(l, Editor.MEMORIES, element);
javax.swing.JComponent textField = l.getTextComponent();
jmri.jmrit.display.PositionablePopupUtil util = l.getPopupUtility();
if (util.hasBackground()) {
textField.setBackground(util.getBackground());
} else {
textField.setBackground(null);
textField.setOpaque(false);
}
}
use of ucar.nc2.Attribute in project JMRI by JMRI.
the class PositionableLabelXml method loadTextInfo.
protected void loadTextInfo(Positionable l, Element element) {
if (log.isDebugEnabled()) {
log.debug("loadTextInfo");
}
jmri.jmrit.display.PositionablePopupUtil util = l.getPopupUtility();
if (util == null) {
log.warn("PositionablePopupUtil is null! " + element.toString());
return;
}
Attribute a = element.getAttribute("size");
try {
if (a != null) {
util.setFontSize(a.getFloatValue());
}
} catch (DataConversionException ex) {
log.warn("invalid size attribute value");
}
a = element.getAttribute("style");
try {
if (a != null) {
int style = a.getIntValue();
int drop = 0;
switch(style) {
case 0:
//0 Normal
drop = 1;
break;
case 2:
//italic
drop = 1;
break;
default:
// fall through
break;
}
util.setFontStyle(style, drop);
}
} catch (DataConversionException ex) {
log.warn("invalid style attribute value");
}
// set color if needed
try {
int red = element.getAttribute("red").getIntValue();
int blue = element.getAttribute("blue").getIntValue();
int green = element.getAttribute("green").getIntValue();
util.setForeground(new Color(red, green, blue));
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse color attributes!");
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
a = element.getAttribute("hasBackground");
if (a != null) {
util.setHasBackground("yes".equals(a.getValue()));
} else {
util.setHasBackground(true);
}
if (util.hasBackground()) {
try {
int red = element.getAttribute("redBack").getIntValue();
int blue = element.getAttribute("blueBack").getIntValue();
int green = element.getAttribute("greenBack").getIntValue();
util.setBackgroundColor(new Color(red, green, blue));
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse background color attributes!");
} catch (NullPointerException e) {
// if the attributes are not listed, we consider the background as clear.
util.setHasBackground(false);
}
}
int fixedWidth = 0;
int fixedHeight = 0;
try {
fixedHeight = element.getAttribute("fixedHeight").getIntValue();
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse fixed Height attributes!");
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
try {
fixedWidth = element.getAttribute("fixedWidth").getIntValue();
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse fixed Width attribute!");
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
if (!(fixedWidth == 0 && fixedHeight == 0)) {
util.setFixedSize(fixedWidth, fixedHeight);
}
if ((util.getFixedWidth() == 0) || (util.getFixedHeight() == 0)) {
try {
util.setMargin(element.getAttribute("margin").getIntValue());
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse margin attribute!");
} catch (NullPointerException e) {
// considered normal if the attributes are not present
}
}
try {
util.setBorderSize(element.getAttribute("borderSize").getIntValue());
int red = element.getAttribute("redBorder").getIntValue();
int blue = element.getAttribute("blueBorder").getIntValue();
int green = element.getAttribute("greenBorder").getIntValue();
util.setBorderColor(new Color(red, green, blue));
} catch (org.jdom2.DataConversionException e) {
log.warn("Could not parse border attributes!");
} catch (NullPointerException e) {
// considered normal if the attribute not present
}
a = element.getAttribute("justification");
if (a != null) {
util.setJustification(a.getValue());
} else {
util.setJustification("left");
}
a = element.getAttribute("orientation");
if (a != null) {
util.setOrientation(a.getValue());
} else {
util.setOrientation("horizontal");
}
int deg = 0;
try {
a = element.getAttribute("degrees");
if (a != null) {
deg = a.getIntValue();
l.rotate(deg);
}
} catch (DataConversionException ex) {
log.warn("invalid 'degrees' value (non integer)");
}
if (deg == 0 && util.hasBackground()) {
l.setOpaque(true);
}
}
Aggregations