示例#1
0
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 设置条件
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
void SVConditionParam::SetCondition(MAPNODE &alertnode)
{
    string szRelationCount ("");

    // 条件文本置空
    if(m_pConditionArea)
        m_pConditionArea->setText("");

    // 设置帮助文本
    if(m_pHelpText)
        m_pHelpText->setText(m_szHelp);

    // 设置错误提示信息
    if(m_pErrText)
        m_pErrText->setText(m_szTip);

    // 得到条件
    FindNodeValue(alertnode, svConditionCount, szRelationCount);
    char szKey [16] = {0};
    string szCondition (""), szReturn (""), szParamValue ("") , szRelation ("");
    int nCount = 0;

    // 展示条件
    if(!szRelationCount.empty())
    {
        nCount = atoi(szRelationCount.c_str());
        for(int i = 1; i <= nCount; i++)
        {
            szRelation = "";
            sprintf(szKey, svRelation, i);
            FindNodeValue(alertnode, szKey, szRelation);
            sprintf(szKey, svParamName, i);
            FindNodeValue(alertnode, szKey, szReturn);
            sprintf(szKey, svOperate, i);
            FindNodeValue(alertnode, szKey, szCondition);
            sprintf(szKey, svParamValue, i);
            FindNodeValue(alertnode, szKey, szParamValue);
            getParamLabel(szReturn);
            if(m_pConditionArea)
            {
                string szValue("");
                if(!szRelation.empty())
                    szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket
                              + " " + szRelation + " ";
                else
                    szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket;

                m_pConditionArea->setText(m_pConditionArea->text() + szValue);
            }
        }
    }
}
示例#2
0
void SVConditionParam::SetCondition(MAPNODE &alertnode)
{
    string szRelationCount ("");

    if(m_pConditionArea)
        m_pConditionArea->setText("");

    FindNodeValue(alertnode, "sv_conditioncount", szRelationCount); 
    char szKey [16] = {0};
    string szCondition (""), szReturn (""), szParamValue ("") , szRelation ("");
    int nCount = 0;
    if(!szRelationCount.empty())
    {
        nCount = atoi(szRelationCount.c_str());
        for(int i = 1; i <= nCount; i++)
        {
            szRelation = "";
            sprintf(szKey, "sv_relation%d", i);
            FindNodeValue(alertnode, szKey, szRelation);
            sprintf(szKey, "sv_paramname%d", i);
            FindNodeValue(alertnode, szKey, szReturn);
            sprintf(szKey, "sv_operate%d", i);
            FindNodeValue(alertnode, szKey, szCondition);
            sprintf(szKey, "sv_paramvalue%d", i);
            FindNodeValue(alertnode, szKey, szParamValue); 
            getParamLabel(szReturn);
            if(m_pConditionArea)
            {
                string szValue("");
                if(!szRelation.empty())
                    szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket + " " + szRelation + " ";
                else
                    szValue = chLeftBracket + szReturn + " " + szCondition + " " + szParamValue + chRightBracket;

                m_pConditionArea->setText(m_pConditionArea->text() + szValue);
            }
        }
    }
}