Link Search Menu Expand Document

bool enuAddGlobalStruct(wchar_t* pStrFileName, wchar_t* pStrStructName, CPtrList* pItem)

bool enuAddGlobalStruct(wchar_t* pStrFileName, wchar_t* pStrStructName, CPtrList* pItem)

Parameters

  • Type : wchar_t* pStrFileName

추가하고자 하는 global 파일명을 입력합니다.

  • wchar_t* pStrStructName

추가하고자 하는 구조체 이름을 입력합니다.

  • CPtrList* pItem

구조체의 아이템 리스트정보를 전달합니다.

구조체

struct StructList
{
    wchar_t strType[DEF_NAME_LEN];
    wchar_t strVariable[DEF_NAME_LEN];
    wchar_t strInitial[DEF_MAXTEXT_LEN];
    wchar_t strDescription[DEF_MAXTEXT_LEN];

    public :StructList()
    {
        wcscpy_s(strType, L"");
        wcscpy_s(strVariable, L"");
        wcscpy_s(strInitial, L"");
        wcscpy_s(strDescription, L"");
    }
};

Return Value

Type : bool

성공 여부를 반환합니다.

Remarks

사용자 정의 구조체를 추가하고자 하는 경우 사용합니다. 구조체의 전달하면 SVG 상에 구조체 노드가 생성됩니다.

추가된 구조체 정의를 통하여, 구조체 변수를 생성하여 활용합니다.

Examples

CString m_strFileName = L"global\\global.svg";
CString strStructName= L"InOutStruct";
CPtrList ItemList;

StructList var1;
wcscpy_s(var1.strType, L"int");
wcscpy_s(var1.strVariable, L"intput");
wcscpy_s(var1.strInitial, L"0");
wcscpy_s(var1.strDescription, L"input variable");
ItemList.AddTail(&var1);

StructList var2;
wcscpy_s(var2.strType, L"int");
wcscpy_s(var2.strVariable, L"output");
wcscpy_s(var2.strInitial, L"0");
wcscpy_s(var2.strDescription, L"output variable");
ItemList.AddTail(&var2);

if (enuAddGlobalStruct(m_strFileName.GetBuffer(0), strStructName.GetBuffer(0), &ItemList))
{
    // struct 등록 성공
    // 구조체 이름을 통한 변수 추가.
    enuAddGlobalVariable(m_strFileName.GetBuffer(0), strStructName.GetBuffer(0), L"MyVariable", L"", L"description");
}
else
{
    // struct 등록 실패.
}