AppFwk : Add support for output of object and field keywords

This commit is contained in:
Magne Sjaastad
2017-12-15 17:00:36 +01:00
parent d5b12a8b23
commit d15808efe6
4 changed files with 94 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ ${CEE_CURRENT_LIST_DIR}RicExpressionParser-Test.cpp
${CEE_CURRENT_LIST_DIR}RiuSummaryVectorDescriptionMap-Test.cpp
${CEE_CURRENT_LIST_DIR}FixedWidthDataParser-Test.cpp
${CEE_CURRENT_LIST_DIR}RigTimeCurveHistoryMerger-Test.cpp
${CEE_CURRENT_LIST_DIR}ListKeywordsForObjectsAndFields-Test.cpp
)
if (RESINSIGHT_ENABLE_PROTOTYPE_FEATURE_FRACTURES)

View File

@@ -0,0 +1,75 @@
#include "gtest/gtest.h"
#include "cafPdmDefaultObjectFactory.h"
#include "cafPdmObjectHandle.h"
#include <QFile>
#include <QTextStream>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void writeTextToFile(const QString& filePath, const QString& text)
{
QFile exportFile(filePath);
if (exportFile.open(QIODevice::WriteOnly))
{
QTextStream stream(&exportFile);
stream << text;
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(ListKeywords, ListAllObjectKeywords)
{
auto instance = caf::PdmDefaultObjectFactory::instance();
QString textString;
QTextStream stream(&textString);
std::vector<QString> classKeywords = instance->classKeywords();
for (auto keyword : classKeywords)
{
stream << keyword << "\n";
}
QString filePath = "c:/temp/ri-objectKeywords.txt";
// writeTextToFile(filePath, textString);
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(ListKeywords, ListAllObjectKeywordsAndFieldKeywords)
{
auto instance = caf::PdmDefaultObjectFactory::instance();
QString textString;
QTextStream stream(&textString);
std::vector<QString> classKeywords = instance->classKeywords();
for (auto keyword : classKeywords)
{
stream << keyword << "\n";
caf::PdmObjectHandle* myClass = instance->create(keyword);
std::vector<caf::PdmFieldHandle*> fields;
myClass->fields(fields);
for (auto f : fields)
{
stream << " " << f->keyword() << "\n";
}
stream << "\n";
delete myClass;
}
QString filePath = "c:/temp/ri-fieldKeywords.txt";
// writeTextToFile(filePath, textString);
}