/** * Default implementation for storing the contents of a LightIcon * @param o Object to store, of type LightIcon * @return QDomElement containing the complete info */ /*public*/ QDomElement LightIconXml::store(QObject* o) { LightIcon* p = (LightIcon*)o; if (!p->isActive()) return QDomElement(); // if flagged as inactive, don't store QDomElement element = doc.createElement("LightIcon"); element.setAttribute("light", ((AbstractLight*)p->getLight())->getSystemName()); storeCommonAttributes((Positionable*)p, element); QDomElement elem =doc.createElement("icons"); elem.appendChild(storeIcon("on", p->getOnIcon())); elem.appendChild(storeIcon("off", p->getOffIcon())); elem.appendChild(storeIcon("unknown", p->getUnknownIcon())); elem.appendChild(storeIcon("inconsistent", p->getInconsistentIcon())); element.appendChild(elem); element.setAttribute("class", "jmri.jmrit.display.configurexml.LightIconXml"); return element; }
int IcolibExtraIcon::setIconByName(int id, MCONTACT hContact, const char *icon) { if (hContact == NULL || id != m_id) return -1; if (icon == INVALID_HANDLE_VALUE) icon = NULL; if (isEnabled()) { ptrA szIconName(db_get_sa(hContact, MODULE_NAME, m_szName)); if (!IsEmpty(szIconName)) RemoveIcon(szIconName); } storeIcon(hContact, (char*)icon); if (isEnabled()) return ClistSetExtraIcon(hContact, (IsEmpty(icon)) ? INVALID_HANDLE_VALUE : AddIcon(icon)); return 0; }
int IcolibExtraIcon::setIcon(int id, MCONTACT hContact, HANDLE hIcoLib) { if (hContact == NULL || id != m_id) return -1; if (hIcoLib == INVALID_HANDLE_VALUE) hIcoLib = NULL; if (isEnabled()) { ptrA szIconName(db_get_sa(hContact, MODULE_NAME, m_szName)); if (!IsEmpty(szIconName)) RemoveIcon(szIconName); } IcolibItem *p = (IcolibItem*)hIcoLib; char *szName = (p) ? p->name : NULL; storeIcon(hContact, szName); if (isEnabled()) return ClistSetExtraIcon(hContact, (hIcoLib == NULL) ? INVALID_HANDLE_VALUE : AddIcon(szName)); return 0; }
/** * Default implementation for storing the contents of a * SignalHeadIcon * @param o Object to store, of type SignalHeadIcon * @return QDomElement containing the complete info */ /*public*/ QDomElement SignalHeadIconXml::store(QObject* o) { log = new Logger("SignalHeadIconXml"); SignalHeadIcon* p = (SignalHeadIcon*)o; if (!p->isActive()) return QDomElement(); // if flagged as inactive, don't store QDomElement element = doc.createElement("signalheadicon"); element.setAttribute("signalhead", p->getNamedSignalHead()->getName()); storeCommonAttributes((Positionable*)p, element); element.setAttribute("clickmode", p->getClickMode()); element.setAttribute("litmode", p->getLitMode()); QDomElement elem = doc.createElement("icons"); NamedIcon* icon = p->getIcon(tr("Held")); if (icon!=NULL) { elem.appendChild(storeIcon("held", icon)); } icon = p->getIcon(tr("Dark")); if (icon!=NULL) { elem.appendChild(storeIcon("dark", icon)); } icon = p->getIcon(tr("Red")); if (icon!=NULL) { elem.appendChild(storeIcon("red", icon)); } icon = p->getIcon(tr("Yellow")); if (icon!=NULL) { elem.appendChild(storeIcon("yellow", icon)); } icon = p->getIcon(tr("Green")); if (icon!=NULL) { elem.appendChild(storeIcon("green", icon)); } icon = p->getIcon(tr("Lunar")); if (icon!=NULL) { elem.appendChild(storeIcon("lunar", icon)); } icon = p->getIcon(tr("Flashing Red")); if (icon!=NULL) { elem.appendChild(storeIcon("flashred", icon)); } icon = p->getIcon(tr("Flashing Yellow")); if (icon!=NULL) { elem.appendChild(storeIcon("flashyellow", icon)); } icon = p->getIcon(tr("Flashing Green")); if (icon!=NULL) { elem.appendChild(storeIcon("flashgreen", icon)); } icon = p->getIcon(tr("Flashing Lunar")); if (icon!=NULL) { elem.appendChild(storeIcon("flashlunar", icon)); } element.appendChild(elem); elem = doc.createElement("iconmaps"); QString family = p->getFamily(); if (family!=NULL) { elem.setAttribute("family", family); } element.appendChild(elem); element.setAttribute("class", "jmri.jmrit.display.configurexml.SignalHeadIconXml"); return element; }