PICodeInfo::EnumInfo toPIVariantEnum
This commit is contained in:
@@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.0)
|
|||||||
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
||||||
project(pip)
|
project(pip)
|
||||||
set(pip_MAJOR 2)
|
set(pip_MAJOR 2)
|
||||||
set(pip_MINOR 30)
|
set(pip_MINOR 31)
|
||||||
set(pip_REVISION 1)
|
set(pip_REVISION 0)
|
||||||
set(pip_SUFFIX )
|
set(pip_SUFFIX )
|
||||||
set(pip_COMPANY SHS)
|
set(pip_COMPANY SHS)
|
||||||
set(pip_DOMAIN org.SHS)
|
set(pip_DOMAIN org.SHS)
|
||||||
|
|||||||
@@ -37,6 +37,14 @@ int PICodeInfo::EnumInfo::memberValue(const PIString & name_) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PIVariantTypes::Enum PICodeInfo::EnumInfo::toPIVariantEnum() {
|
||||||
|
PIVariantTypes::Enum en(name);
|
||||||
|
for (auto m: members) en << m.toPIVariantEnumerator();
|
||||||
|
if (!en.isEmpty()) en.selectValue(members.front().value);
|
||||||
|
return en;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PIMap<PIString, PICodeInfo::ClassInfo * > * PICodeInfo::classesInfo;
|
PIMap<PIString, PICodeInfo::ClassInfo * > * PICodeInfo::classesInfo;
|
||||||
PIMap<PIString, PICodeInfo::EnumInfo * > * PICodeInfo::enumsInfo;
|
PIMap<PIString, PICodeInfo::EnumInfo * > * PICodeInfo::enumsInfo;
|
||||||
PIMap<PIString, PICodeInfo::AccessValueFunction> * PICodeInfo::accessValueFunctions;
|
PIMap<PIString, PICodeInfo::AccessValueFunction> * PICodeInfo::accessValueFunctions;
|
||||||
|
|||||||
@@ -25,6 +25,8 @@
|
|||||||
#define PICODEINFO_H
|
#define PICODEINFO_H
|
||||||
|
|
||||||
#include "pistringlist.h"
|
#include "pistringlist.h"
|
||||||
|
#include "pivarianttypes.h"
|
||||||
|
|
||||||
|
|
||||||
class PIVariant;
|
class PIVariant;
|
||||||
|
|
||||||
@@ -77,6 +79,7 @@ struct PIP_EXPORT ClassInfo {
|
|||||||
|
|
||||||
struct PIP_EXPORT EnumeratorInfo {
|
struct PIP_EXPORT EnumeratorInfo {
|
||||||
EnumeratorInfo(const PIString & n = PIString(), int v = 0) {name = n; value = v;}
|
EnumeratorInfo(const PIString & n = PIString(), int v = 0) {name = n; value = v;}
|
||||||
|
PIVariantTypes::Enumerator toPIVariantEnumerator() {return PIVariantTypes::Enumerator(value, name);}
|
||||||
MetaMap meta;
|
MetaMap meta;
|
||||||
PIString name;
|
PIString name;
|
||||||
int value;
|
int value;
|
||||||
@@ -85,6 +88,7 @@ struct PIP_EXPORT EnumeratorInfo {
|
|||||||
struct PIP_EXPORT EnumInfo {
|
struct PIP_EXPORT EnumInfo {
|
||||||
PIString memberName(int value) const;
|
PIString memberName(int value) const;
|
||||||
int memberValue(const PIString & name) const;
|
int memberValue(const PIString & name) const;
|
||||||
|
PIVariantTypes::Enum toPIVariantEnum();
|
||||||
MetaMap meta;
|
MetaMap meta;
|
||||||
PIString name;
|
PIString name;
|
||||||
PIVector<PICodeInfo::EnumeratorInfo> members;
|
PIVector<PICodeInfo::EnumeratorInfo> members;
|
||||||
|
|||||||
@@ -99,9 +99,6 @@ struct PIP_EXPORT Enum {
|
|||||||
* @brief Make vector of Enum names
|
* @brief Make vector of Enum names
|
||||||
*/
|
*/
|
||||||
PIStringList names() const;
|
PIStringList names() const;
|
||||||
PIString enum_name;
|
|
||||||
PIString selected;
|
|
||||||
PIVector<Enumerator> enum_list;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Add PIVariantTypes::Enumerator to Enum
|
* @brief Add PIVariantTypes::Enumerator to Enum
|
||||||
@@ -119,6 +116,15 @@ struct PIP_EXPORT Enum {
|
|||||||
* @brief Add PIVariantTypes::Enumerator element for each name in vector
|
* @brief Add PIVariantTypes::Enumerator element for each name in vector
|
||||||
*/
|
*/
|
||||||
Enum & operator <<(const PIStringList & v);
|
Enum & operator <<(const PIStringList & v);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Return true if Enum is empty
|
||||||
|
*/
|
||||||
|
bool isEmpty() const {return enum_list.isEmpty();}
|
||||||
|
|
||||||
|
PIString enum_name;
|
||||||
|
PIString selected;
|
||||||
|
PIVector<Enumerator> enum_list;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PIP_EXPORT File {
|
struct PIP_EXPORT File {
|
||||||
|
|||||||
Reference in New Issue
Block a user