int PluginManager::ExecutePlugin(const wxString& pluginName)
{
    PluginElement* elem = FindElementByName(pluginName);
    cbPlugin* plug = elem ? elem->plugin : nullptr;
    if (plug)
    {
        if (plug->GetType() != ptTool)
        {
            Manager::Get()->GetLogManager()->LogError(F(_T("Plugin %s is not a tool to have Execute() method!"), elem->info.name.wx_str()));
        }
        else
        {
            try
            {
                return ((cbToolPlugin*)plug)->Execute();
            }
            catch (cbException& exception)
            {
                exception.ShowErrorMessage(false);
            }
        }
    }
    else
    {
        Manager::Get()->GetLogManager()->LogError(F(_T("No plugin registered by this name: %s"), pluginName.wx_str()));
    }
    return 0;
}
const PluginInfo* PluginManager::GetPluginInfo(const wxString& pluginName)
{
    PluginElement* plugElem = FindElementByName(pluginName);
    if (plugElem && plugElem->info.name == pluginName)
        return &plugElem->info;

    return nullptr;
}
Beispiel #3
0
void MyWebView::on_HighlightTreeSelectedElem(QString name)
{
	if (!m_boolEnableEvtProcess) { return; }
    QWebElement welemTemp = page()->mainFrame()->documentElement();
    QWebElement webelem = FindElementByName(welemTemp, name);
	
	if (webelem.isNull())
	{
		qDebug() << "[ERROR] Invalid QWebElement in MyWebView::on_HighlightTreeSelectedElem.";
		return;
	}
	ChangeClickedElemColor(webelem);
}
Beispiel #4
0
void RemoveStructureInterface(linkedList *list)
{
	char name[256];

	printf("Enter name:\n");
	fgets(name, 256, stdin);
	name[strlen(name) - 1] = '\0';

	if (!RemoveElement(list, FindElementByName(list, name)))
	{
		printf("Could not find the entry named '%s'\n", name);
	}
}
Beispiel #5
0
void DomSerializer::GetObject(const char* key, Object& value, bool required)
{
	// Find the node corresponding to the object wanting to be populated
	DOMNode* objectNode = FindElementByName(m_node, CStdString(key));

	// Create a new serializer and affect it to this object
	if (objectNode)
	{
		DomSerializer serializer(&value);
		serializer.DeSerialize(objectNode);
	}
	else if (required)
	{
		throw(CStdString("DomSerializer::GetObject: required node missing:") + key);
	}
}
Beispiel #6
0
void DomSerializer::GetString(const char* key, CStdString& value, bool required)
{
	// Find the right node
	DOMNode* stringNode = FindElementByName(m_node, CStdString(key));

	if(stringNode)
	{
		// Now, the string associated to element should be the first child (text element)
		DOMNode* textNode = stringNode->getFirstChild();
		if (textNode && textNode->getNodeType() == DOMNode::TEXT_NODE)
		{
			value = XMLStringToLocal(textNode->getNodeValue());
		}
	}
	else if (required)
	{
		throw(CStdString("DomSerializer::GetString: required parameter missing:") + key);
	}
}
Beispiel #7
0
QWebElement MyWebView::FindElementByName(QWebElement &elem, QString &name)
{
	if (elem.attribute("id").compare(name, Qt::CaseInsensitive) == 0)
	{
		return elem;
	}
	else
	{
		QWebElement childelem = elem.firstChild();
		QWebElement retelem;
		while (!childelem.isNull())
		{
			retelem = FindElementByName(childelem, name);
			if (!retelem.isNull())
			{
				return retelem;
			}
			childelem = childelem.nextSibling();
		}
	}
	return QWebElement();
}
Beispiel #8
0
void DomSerializer::GetList(const char* key, std::list<ObjectRef>& value, Object& model, bool required)
{
	// Find the node corresponding to the object list wanting to be populated
	DOMNode* listNode = FindElementByName(m_node, CStdString(key));

	// Create a new serializer and affect it to this object
	if (listNode)
	{
		// Iterate over the nodes #####
		DOMNode* node = listNode->getFirstChild();
		while(node)
		{
			// Create a new object instance
			ObjectRef newObject = model.NewInstance();
			try
			{
				DomSerializer serializer(newObject.get());
				serializer.DeSerialize(node);
				value.push_back(newObject);

			}
			catch (CStdString& e)
			{
				// For now, do not interrupt the deserialization process.
				// in the future, we might let this exception go through if the node has been
				// recognized to bear the proper tag name
				;
			}
			node = node->getNextSibling();
		}

	}
	else if (required)
	{
		throw(CStdString("DomSerializer::GetList: required node missing:") + key);
	}
}
Beispiel #9
0
void plClothingMtl::InitTilesets()
{
    hsAssert(fElements.GetCount() == 0, "Tilesets already initialized");
    fElements.Reset();
    fTilesets.SetCountAndZero(plClothingLayout::kMaxTileset);

    plClothingElement::GetElements(fElements);
/*
    plClothingTileset *tileset = new plClothingTileset();
    tileset->SetName("shirt");
    tileset->AddElement(FindElementByName("shirt-chest"));
    tileset->AddElement(FindElementByName("shirt-sleeve"));
    fTilesets[plClothingLayout::kSetShirt] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("face");
    tileset->AddElement(FindElementByName("face"));
    fTilesets[plClothingLayout::kSetFace] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("eye");
    tileset->AddElement(FindElementByName("eyeball"));
    fTilesets[plClothingLayout::kSetEye] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("shoe");
    tileset->AddElement(FindElementByName("shoe-top"));
    tileset->AddElement(FindElementByName("shoe-bottom"));
    fTilesets[plClothingLayout::kSetShoe] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("pants");
    tileset->AddElement(FindElementByName("pants"));
    fTilesets[plClothingLayout::kSetPants] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("hand");
    tileset->AddElement(FindElementByName("hand-LOD"));
    tileset->AddElement(FindElementByName("hand-square"));
    tileset->AddElement(FindElementByName("hand-wide"));
    fTilesets[plClothingLayout::kSetHand] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("playerbook");
    tileset->AddElement(FindElementByName("playerbook"));
    fTilesets[plClothingLayout::kSetPlayerBook] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("backpack");
    tileset->AddElement(FindElementByName("backpack"));
    fTilesets[plClothingLayout::kSetBackpack] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("glasses");
    tileset->AddElement(FindElementByName("glasses-front"));
    tileset->AddElement(FindElementByName("glasses-side"));
    fTilesets[plClothingLayout::kSetGlasses] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("KI");
    tileset->AddElement(FindElementByName("KI"));
    fTilesets[plClothingLayout::kSetKI] = tileset;
    */
    plClothingTileset *tileset = new plClothingTileset();
    tileset->SetName("Torso");
    tileset->AddElement(FindElementByName("Chest"));
    tileset->AddElement(FindElementByName("Arm"));
    fTilesets[plClothingLayout::kSetShirt] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Head");
    tileset->AddElement(FindElementByName("Eye"));  
    tileset->AddElement(FindElementByName("Extra Hair"));
    tileset->AddElement(FindElementByName("Face"));
    tileset->AddElement(FindElementByName("Hat"));
    fTilesets[plClothingLayout::kSetFace] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Foot");
    tileset->AddElement(FindElementByName("Foot"));
    fTilesets[plClothingLayout::kSetShoe] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Legs");
    tileset->AddElement(FindElementByName("Legs"));
    fTilesets[plClothingLayout::kSetPants] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Hand");
    tileset->AddElement(FindElementByName("Finger"));
    tileset->AddElement(FindElementByName("LOD"));
    tileset->AddElement(FindElementByName("Palm"));
    fTilesets[plClothingLayout::kSetHand] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Player Book");
    tileset->AddElement(FindElementByName("Player Book"));
    fTilesets[plClothingLayout::kSetPlayerBook] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("Glasses");
    tileset->AddElement(FindElementByName("Glasses"));
    fTilesets[plClothingLayout::kSetGlasses] = tileset;
    
    tileset = new plClothingTileset();
    tileset->SetName("KI");
    tileset->AddElement(FindElementByName("KI"));
    fTilesets[plClothingLayout::kSetKI] = tileset;  

    tileset = new plClothingTileset();
    tileset->SetName("(unused)");
    fTilesets[plClothingLayout::kSetEye] = tileset;

    tileset = new plClothingTileset();
    tileset->SetName("(unused)");
    fTilesets[plClothingLayout::kSetBackpack] = tileset;    
}