/* Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved. */ /*--------------------------------------------------------------------*\ Pro/TOOLKIT includes \*--------------------------------------------------------------------*/ #include <ProToolkit.h> #include <ProMenu.h> #include <ProMessage.h> #include <ProView.h> #include <ProWindows.h> #include <ProUtil.h> /*--------------------------------------------------------------------*\ C System includes \*--------------------------------------------------------------------*/ /*--------------------------------------------------------------------*\ Application includes \*--------------------------------------------------------------------*/ #include <TestError.h> #include "UtilMessage.h" /*--------------------------------------------------------------------*\ Application macros \*--------------------------------------------------------------------*/ #define MSGFIL "mess_msg.txt" /*=============================================================*\ File: TestMessage.c Function: ProTestMessage() Purpose: Function used for testing ProMessage... functions \*=============================================================*/ int ProTestMessage(ProAppData app_data, int option) { static int irange[2] = {0,10000}; static double drange[2] = {-1e20, 1e20}; int user_int; double user_double; ProCharLine string; ProLine wstring, password, buffer; ProFileName msgfil; ProError status; ProStringToWstring(msgfil, (char*)MSGFIL); ProUtilMsgPrint( "gen", "TEST %0s", "Enter integer data:"); /* Obtain an integer value from the user */ status = ProMessageIntegerRead(irange, &user_int); TEST_CALL_REPORT("ProMessageIntegerRead()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); status = ProMessageDisplay(msgfil, (char*)"TEST Integer = %0d", &user_int); TEST_CALL_REPORT("ProMessageDisplay()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); /* Clear the prompt line */ ProMessageClear(); TEST_CALL_REPORT("ProMessageClear()", "ProTestMessage()", PRO_TK_NO_ERROR, 0); /* Obtain an double value from the user */ ProUtilMsgPrint( "gen", "TEST %0s", "Enter double data:"); status = ProMessageDoubleRead(drange, &user_double); TEST_CALL_REPORT("ProMessageDoubleRead()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); status = ProMessageDisplay(msgfil, (char*)"TEST Double = %0f", &user_double); TEST_CALL_REPORT("ProMessageDisplay()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); /* Clear the prompt line */ ProMessageClear(); TEST_CALL_REPORT("ProMessageClear()", "ProTestMessage()", PRO_TK_NO_ERROR, 0); /* Obtain an string from the user */ ProUtilMsgPrint( "gen", "TEST %0s", "Enter string data:"); status = ProMessageStringRead(PRO_LINE_SIZE-1, wstring); TEST_CALL_REPORT("ProMessageStringRead()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); status = ProMessageDisplay(msgfil, (char*)"TEST String: %0w", wstring); TEST_CALL_REPORT("ProMessageDisplay()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); /* Clear the prompt line */ ProMessageClear(); TEST_CALL_REPORT("ProMessageClear()", "ProTestMessage()", PRO_TK_NO_ERROR, 0); /* Obtain an password from the user */ ProUtilMsgPrint( "gen", "TEST %0s", "Enter password:"); status = ProMessagePasswordRead(PRO_LINE_SIZE-1, password); TEST_CALL_REPORT("ProMessagePasswordRead()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); status = ProMessageToBuffer(buffer, msgfil, (char*)"TEST Password: %0w", password); TEST_CALL_REPORT("ProMessageToBuffer()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); ProWstringToString(string, buffer); ProUtilMsgPrint( "gen", "TEST %0s", string); /* Clear the prompt line */ ProMessageClear(); TEST_CALL_REPORT("ProMessageClear()", "ProTestMessage()", PRO_TK_NO_ERROR, 0); status = ProMessageDisplay(msgfil, (char*)"TEST Example format = %0w|%1(5)d|%2(7.2)f|%3(10.2)e|%4(10.4)g|", wstring, &user_int, &user_double, &user_double, &user_double); TEST_CALL_REPORT("ProMessageDisplay()", "ProTestMessage()", status, status != PRO_TK_NO_ERROR); return(1); }