예제 #1
0
/**
 * 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;
}
예제 #2
0
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;
}
예제 #3
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;
}
예제 #4
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;
}