当前位置: 首页>>代码示例>>C++>>正文


C++ VariantType类代码示例

本文整理汇总了C++中VariantType的典型用法代码示例。如果您正苦于以下问题:C++ VariantType类的具体用法?C++ VariantType怎么用?C++ VariantType使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了VariantType类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: VariantType

bool KeyedArchive::LoadFromYamlNode(const YamlNode* rootNode)
{
    if(NULL == rootNode)
    {
        return  false;
    }

    const YamlNode * archieveNode = rootNode->Get(VariantType::TYPENAME_KEYED_ARCHIVE);
    if(!archieveNode)
    {
        return false;
    }

    int32 count = archieveNode->GetCount();
    for (int32 i = 0; i < count; ++i)
    {
		const YamlNode * node = archieveNode->Get(i);
		const String &variableNameToArchMap = archieveNode->GetItemKeyName(i);

        VariantType *value = new VariantType(node->AsVariantType());
                
        if(value->GetType() == VariantType::TYPE_NONE)
        {
            SafeDelete(value);
            continue;
        }

        objectMap[variableNameToArchMap] = value;
    }
    
    return true;
}
开发者ID:galek,项目名称:dava.framework,代码行数:32,代码来源:KeyedArchive.cpp

示例2: DeleteKey

void KeyedArchive::SetMatrix4(const String & key, const Matrix4 &value)
{
    DeleteKey(key);
	VariantType *variantValue = new VariantType();
	variantValue->SetMatrix4(value);
	objectMap[key] = variantValue;
}
开发者ID:galek,项目名称:dava.framework,代码行数:7,代码来源:KeyedArchive.cpp

示例3: DeleteKey

void KeyedArchive::SetByteArray(const String & key, const uint8 * value, int32 arraySize)
{
    DeleteKey(key);
	VariantType *variantValue = new VariantType();
	variantValue->SetByteArray(value, arraySize);
	objectMap[key] = variantValue;
}
开发者ID:,项目名称:,代码行数:7,代码来源:

示例4: equals

    bool equals (const ValueUnion& data, const ValueUnion& otherData, const VariantType& otherType) const noexcept override
    {
        if (otherType.isDouble() || otherType.isString())
            return otherType.equals (otherData, data, *this);

        return otherType.toInt64 (otherData) == data.int64Value;
    }
开发者ID:KennyWZhang,项目名称:RenderMan,代码行数:7,代码来源:juce_Variant.cpp

示例5: VariantType

bool KeyedArchive::LoadFromYamlNode(YamlNode* rootNode)
{
    if(NULL == rootNode)
    {
        return  false;
    }

    Vector<YamlNode*> &rootVector = rootNode->Get(VariantType::TYPENAME_KEYED_ARCHIVE)->AsVector();
    
    for (Vector<YamlNode*>::const_iterator it = rootVector.begin(); it != rootVector.end(); ++it)
    {
		YamlNode * node = *it;
		String variableNameToArchMap = node->AsString();

        VariantType *value = new VariantType(node->AsVariantType());
                
        if(value->GetType() == VariantType::TYPE_NONE)
        {
            SafeDelete(value);
            continue;
        }

        objectMap[variableNameToArchMap] = value;
    }
    
    return true;
}
开发者ID:,项目名称:,代码行数:27,代码来源:

示例6: EncodeVariant

void KeyedArchiver::EncodeVariant(const String & key, const VariantType & value)
{
    VariantType keyMT;
    keyMT.SetString(key);
    keyMT.Write(archive);

    value.Write(archive);
}
开发者ID:,项目名称:,代码行数:8,代码来源:

示例7: Save

bool KeyedArchive::Save(File *archive)
{
	for (Map<String, VariantType>::iterator it = objectMap.begin(); it != objectMap.end(); ++it)
	{
		VariantType key;
		key.SetString(it->first);
		key.Write(archive);
		it->second.Write(archive);
	}
	return true;
}
开发者ID:dheerendra1,项目名称:dava.framework,代码行数:11,代码来源:KeyedArchive.cpp

示例8: while

bool KeyedUnarchiver::UnarchiveFile(File *file)
{
	while(!file->IsEof())
	{
		VariantType key;
		key.Read(file);
		VariantType value;
		value.Read(file);
		objectMap[key.AsString()] = value;
	}
	return true;
}
开发者ID:,项目名称:,代码行数:12,代码来源:

示例9: while

bool KeyedArchive::Load(File *archive)
{
	while(!archive->IsEof())
	{
		VariantType key;
		key.Read(archive);
		if (archive->IsEof())break;
		VariantType value;
		value.Read(archive);
		objectMap[key.AsString()] = value;
	}
	return true;
}
开发者ID:dheerendra1,项目名称:dava.framework,代码行数:13,代码来源:KeyedArchive.cpp

示例10:

DAVA::Vector<String> RecentFilesManager::GetRecentFiles()
{
	DAVA::Vector<String> retVector;
	VariantType recentFilesVariant = SettingsManager::GetValue(Settings::Internal_RecentFiles);
	if(recentFilesVariant.GetType() == DAVA::VariantType::TYPE_KEYED_ARCHIVE)
	{
		KeyedArchive* archiveRecentFiles = recentFilesVariant.AsKeyedArchive();
		DAVA::uint32 size = archiveRecentFiles->Count();
		retVector.resize(size);
		for (DAVA::uint32 i = 0; i < size; ++i)
		{
			retVector[i] = archiveRecentFiles->GetString(Format("%d", i));
		}
		
	}
	return retVector;
}
开发者ID:galek,项目名称:dava.framework,代码行数:17,代码来源:RecentFilesManager.cpp

示例11: Save

bool KeyedArchive::Save(File *archive)
{
    char header[2];
    uint16 version = 1;
    header[0] = 'K'; header[1] = 'A';
    
    archive->Write(header, 2);
    archive->Write(&version, 2);
    uint32 size = objectMap.size();
    archive->Write(&size, 4);
    
	for (Map<String, VariantType*>::iterator it = objectMap.begin(); it != objectMap.end(); ++it)
	{
		VariantType key;
		key.SetString(it->first);
		key.Write(archive);
		it->second->Write(archive);
	}
	return true;
}
开发者ID:galek,项目名称:dava.framework,代码行数:20,代码来源:KeyedArchive.cpp

示例12: while

bool KeyedArchive::Load(File *archive)
{
    char header[2];
    archive->Read(header, 2);
    if ((header[0] != 'K') || (header[1] != 'A'))
    {
        archive->Seek(0,File::SEEK_FROM_START);
        while(!archive->IsEof())
        {
            VariantType key;
            key.Read(archive);
            if (archive->IsEof())break;
            VariantType *value = new VariantType();
            value->Read(archive);
            objectMap[key.AsString()] = value;
        }
        return true;
    }
    
    uint16 version = 0;
    archive->Read(&version, 2);
    if (version != 1)
    {
        Logger::Error("[KeyedArchive] error loading keyed archive, because version is incorrect");
        return false;
    }
    uint32 numberOfItems = 0;
    archive->Read(&numberOfItems, 4);
    
    for (uint32 item = 0; item < numberOfItems; ++item)
	{
		VariantType key;
		key.Read(archive);
		if (archive->IsEof())break;
        VariantType *value = new VariantType();
        value->Read(archive);
		objectMap[key.AsString()] = value;
	}
	return true;
}
开发者ID:galek,项目名称:dava.framework,代码行数:40,代码来源:KeyedArchive.cpp

示例13: UIStaticText

YamlNode * UIStaticText::SaveToYamlNode(UIYamlLoader * loader)
{
    YamlNode *node = UIControl::SaveToYamlNode(loader);

	UIStaticText *baseControl = new UIStaticText();	

    //Temp variable
    VariantType *nodeValue = new VariantType();
    
    //Control Type
	SetPreferredNodeType(node, "UIStaticText");

    //Font
    //Get font name and put it here
    nodeValue->SetString(FontManager::Instance()->GetFontName(this->GetFont()));
    node->Set("font", nodeValue);

	//TextColor
	nodeValue->SetVector4(Vector4(textColor.r, textColor.g, textColor.b, textColor.a));
	node->Set("textcolor", nodeValue);

	// ShadowColor
	nodeValue->SetVector4(Vector4(shadowColor.r, shadowColor.g, shadowColor.b, shadowColor.a));
	node->Set("shadowcolor", nodeValue);

	// ShadowOffset
	nodeValue->SetVector2(GetShadowOffset());
	node->Set("shadowoffset", nodeValue);

    //Text
    nodeValue->SetWideString(GetText());
    node->Set("text", nodeValue);    
    //Multiline
	if (baseControl->textBlock->GetMultiline() != this->textBlock->GetMultiline())
	{
    	node->Set("multiline", this->textBlock->GetMultiline());
	}
    //multilineBySymbol
	if (baseControl->textBlock->GetMultilineBySymbol() != this->textBlock->GetMultilineBySymbol())
	{
    	node->Set("multilineBySymbol", this->textBlock->GetMultilineBySymbol());
	}
    //fitting - STRING OF INT???
	if (baseControl->textBlock->GetFittingOption() != this->textBlock->GetFittingOption())
	{
    	node->Set("fitting", this->textBlock->GetFittingOption());
	}
    
	// Align
	node->SetNodeToMap("textalign", loader->GetAlignNodeValue(this->GetTextAlign()));

	// Draw type. Must be overriden for UITextControls.
	node->Set("drawType", loader->GetDrawTypeNodeValue(this->GetBackground()->GetDrawType()));

    SafeDelete(nodeValue);
	SafeRelease(baseControl);
    
    return node;
}
开发者ID:boyjimeking,项目名称:dava.framework,代码行数:59,代码来源:UIStaticText.cpp

示例14: VariantType

YamlNode * UIStaticText::SaveToYamlNode(UIYamlLoader * loader)
{
    YamlNode *node = UIControl::SaveToYamlNode(loader);

    // Sprite node is not needed for UITextField.
    YamlNode *spriteNode = node->Get("sprite");
    if (spriteNode)
    {
        node->RemoveNodeFromMap("sprite");
    }

    //Temp variable
    VariantType *nodeValue = new VariantType();
    
    //Control Type
    node->Set("type", "UIStaticText");

    //Font
    //Get font name and put it here
    nodeValue->SetString(FontManager::Instance()->GetFontName(this->GetFont()));
    node->Set("font", nodeValue);

    //Text
    nodeValue->SetWideString(GetText());
    node->Set("text", nodeValue);    
    //Multiline
    node->Set("multiline", this->textBlock->GetMultiline());
    //multilineBySymbol
    node->Set("multilineBySymbol", this->textBlock->GetMultilineBySymbol());
    //fitting - STRING OF INT???  
    node->Set("fitting", this->textBlock->GetFittingOption());
    
    SafeDelete(nodeValue);
    
    return node;
}
开发者ID:dima-belsky,项目名称:dava.framework,代码行数:36,代码来源:UIStaticText.cpp

示例15: EncodeBool

void KeyedArchiver::EncodeBool(const String & key, bool value)
{
    VariantType keyMT;
    keyMT.SetString(key);
    keyMT.Write(archive);

    VariantType valueMT;
    valueMT.SetBool(value);
    valueMT.Write(archive);
}
开发者ID:,项目名称:,代码行数:10,代码来源:


注:本文中的VariantType类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。