/*====================================================================*\ FILE : TestInstall.c PURPOSE : Check Pro/TOOLKIT installation HISTORY.. DATE BUILD AUTHOR MODIFICATIONS 19 Apr 96 G-03-11 Michael $$1 Adapted from Pro/DEVELOP install test 08-MAY-96 G-03-12+ DLT $$2 ProSreprule.h -> ProRule.h 18-MAY-96 G-03-14+ Amin $$3 Renamed header files 19-JUN-96 G-03-18 Amin $$4 Renamed ProSecDimTypes.h ProSecdimType.h 13-Sep-96 H-01-08 Xuekai $$5 ProErr => ProError 24-Sep-96 H-01-10 Xuekai $$6 Remove "protk.h" 28-Sep-96 H-01-11 amin $$7 ProElem.h -> ProElement.h 21-Oct-96 H-01-14 CHI $$8 use PRODEV_PATH_SIZE for paths 23-Oct-96 H-01-14 Bojan $$9 Fixed ProSimprepdata.h 26-Oct-96 H-01-15 amin $$10 Removed ProAppfeature.h, ProSecinput.h, ProFeatref.h, ProGroup.h ProConst.h 30-Oct-96 H-01-15 amin $$11 Removed ProGpinput.h 12-Nov-96 H-01-16 amin $$12 Removed ProUdfinput.h, ProSldfeatinput.h ProSldfeatElem.h, ProFeatdef.h 19-Nov-96 H-01-17 mgs $$13 Completely converted to Pro/TOOLKIT funcs 21-Nov-96 H-01-17 amin $$14 Fix ProPeckTable.h => ProPecktable.h 04-Dec-96 H-01-19 amin $$15 Changed order of arg for ProWstringToString & ProStringToWstring 06-Dec-96 H-01-20 amin $$16 ProCurrentTextAttributesGet -> ProTextAttributesCurrentGet 16-Dec-96 H-01-21 Bojan $$17 Added all #includes, foreign lang, error macros. 18-Dec-96 H-01-21 amin $$18 Removed call to ProCurrentTextAttributesSet 14-Apr-97 H-03-06 CHI $$19 remove 1 xs #include 21-Jul-97 H-03-17 Pavel $$20 Modified to add button to menu bar 24-Jul-97 H-03-17 Alexey $$21 Bug fixed 28-Jul-97 H-03-17 amin $$22 Update arg list for ProCmdAction 12-Jan-98 H-03-36 ljl $$23 Changed menubar function names ProCmdAddAction() -> ProCmdActionAdd() ProMenuAddPushButton() -> ProMenubarmenuPushbuttonAdd() 03-Fab-98 h-03-38 aab $$24 Added all Pro/Toolkit include files 04-May-98 i-01-06 Pavel $$25 Do not ProExtdatafile.h 29-Dec-98 I-01-28 Alexey $$26 Fix TEST_CALL_REPORTs to accept PRO_TK_BAD_CONTEXT as valid return value of ProMdlCurrentGet and all the return values of ProMessageStringRead. 05-Apr-00 J-01-06 CHI $$27 Fix error printout *====================================================================*/ /*--------------------------------------------------------------------*\ Pro/Toolkit includes \*--------------------------------------------------------------------*/ #include #include #include #include #include #include #include #include #include #include #include /*#include*/ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /*--------------------------------------------------------------------*\ Application includes \*--------------------------------------------------------------------*/ #include "TestError.h" #include /*--------------------------------------------------------------------*\ Application global/external data \*--------------------------------------------------------------------*/ static wchar_t MSGFIL[] = {'u','s','e','r','m','s','g','.','t','x','t','\0'}; static char revcode[PRO_LINE_SIZE]; static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE); } /*===========================================================================*\ Function : main Purpose : Test the ProToolkitMain() function. main is optional function. \*===========================================================================*/ main(argc, argv) int argc; char **argv; { fprintf(stderr, "\n\tWelcome to Pro/TOOLKIT - The \"pt_install_test\" program\n"); ProToolkitMain(argc, argv); return(0); } /*====================================================================*\ FUNCTION : user_initialize() PURPOSE : Pro/DEVELOP standard initialize - define menu button \*====================================================================*/ int user_initialize( int argc, char *argv[], char *version, char *build, wchar_t errbuf[80]) { /* Declare function */ int ProTestInstallationCheck(); char cbuff1[PRO_PATH_SIZE], cbuff2[PRO_PATH_SIZE]; char astr1[PRO_LINE_SIZE]; int i, menu_id; ProPath wbuff1, wbuff2; ProError status; uiCmdCmdId cmd_id; /*---------------------------------------------------------------------*\ Loging file open. \*---------------------------------------------------------------------*/ if(argc > 4) ProTestErrlogOpen(argv[4], version, build); else ProTestErrlogOpen("pt_toolkit", version, build); /*---------------------------------------------------------------------*\ First confirm the size of wchar_t \*---------------------------------------------------------------------*/ status = ProWcharSizeVerify (sizeof (wchar_t), &i); TEST_CALL_REPORT("ProWcharSizeVerify", "user_initialize", status, status != PRO_TK_NO_ERROR); if ( status != PRO_TK_NO_ERROR || (i != sizeof (wchar_t)) ) { sprintf(astr1,"ERROR wchar_t Incorrect size (%d). Should be: %d", sizeof(wchar_t), i ); status = ProMessageDisplay(MSGFIL, "USER %0s", astr1); TEST_CALL_REPORT("ProMessageDisplay", "user_initialize", status, status != PRO_TK_NO_ERROR); printf("%s\n", astr1); ProStringToWstring(errbuf, astr1); return(-1); } /*---------------------------------------------------------------------*\ Add new button to the menu bar \*---------------------------------------------------------------------*/ sprintf(revcode, "%s - %s", version, build); ProMessageDisplay( MSGFIL, "USER %0s", "" ); status = ProCmdActionAdd("-Install Test", (uiCmdCmdActFn)ProTestInstallationCheck, uiProe2ndImmediate, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( "File", "-Install Test", "-Install Test", "Installation test", "File.psh_rename", PRO_B_TRUE, cmd_id, MSGFIL); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /* Print the protk.dat info */ status = ProToolkitApplExecPathGet(wbuff1); TEST_CALL_REPORT("ProToolkitApplExecPathGet", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProToolkitApplTextPathGet(wbuff2); TEST_CALL_REPORT("ProToolkitApplTextPathGet", "user_initialize", status, status != PRO_TK_NO_ERROR); ProWstringToString(cbuff1, wbuff1); ProWstringToString(cbuff2, wbuff2); printf("\n Exec_path: %s\n", cbuff1); printf(" Text_path: %s\n\n", cbuff2); for(i=0; i