/* Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved. */ /*--------------------------------------------------------------------*\ Pro/TOOLKIT includes \*--------------------------------------------------------------------*/ #include <ProToolkit.h> #include "ProObjects.h" #include "ProMdl.h" #include "ProMenu.h" #include "ProMenuBar.h" #include "ProMessage.h" #include "ProUtil.h" #include "ProCore.h" /*--------------------------------------------------------------------*\ Pro/DEVELOP includes \*--------------------------------------------------------------------*/ /*--------------------------------------------------------------------*\ C System includes \*--------------------------------------------------------------------*/ /*--------------------------------------------------------------------*\ Application includes \*--------------------------------------------------------------------*/ #include "TestError.h" #include "UtilMessage.h" #include "TestSelect.h" #include "TestParams.h" #include "TestExtobj.h" #include "TestDbms.h" #include "TestNotify.h" #include "TestSimpRep.h" #include "TestSetup.h" #include "TestFeat.h" #include "TestSect.h" #include "TestMisc.h" #include "TestGenedata.h" #include "TestMenu.h" #include "UtilString.h" #include "TestAnalysis.h" #include "PTApplsUnicodeUtils.h" #include "ProTKRunTime.h" #include "UtilMenu.h" /*--------------------------------------------------------------------*\ Application macros \*--------------------------------------------------------------------*/ /*--------------------------------------------------------------------*\ Application data types \*--------------------------------------------------------------------*/ /*--------------------------------------------------------------------*\ Application global/external data \*--------------------------------------------------------------------*/ /*====================================================================*\ FUNCTION : TestAccessDefault() PURPOSE : enable access to the -Main button \*====================================================================*/ static uiCmdAccessState TestAccessDefault(uiCmdAccessMode access_mode) { return (ACCESS_AVAILABLE); } /*====================================================================*\ FUNCTION : TestNoAccess() PURPOSE : disable access any button \*====================================================================*/ static uiCmdAccessState TestNoAccess(uiCmdAccessMode access_mode) { return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestDrawingAccess() PURPOSE : enable access to the Drawing button \*====================================================================*/ static uiCmdAccessState TestDrawingAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_DRAWING) return (ACCESS_AVAILABLE); else return (ACCESS_UNAVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestDiagramAccess() PURPOSE : enable access to the Diagram button \*====================================================================*/ static uiCmdAccessState TestDiagramAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (status == PRO_TK_NO_ERROR && mdltype == PRO_MDL_DIAGRAM) return (ACCESS_AVAILABLE); else return (ACCESS_UNAVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestReportAccess() PURPOSE : enable access to the Report button \*====================================================================*/ static uiCmdAccessState TestReportAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (status == PRO_TK_NO_ERROR && mdltype == PRO_MDL_REPORT) return (ACCESS_AVAILABLE); else return (ACCESS_UNAVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestLayoutAccess() PURPOSE : enable access to the Layout button \*====================================================================*/ static uiCmdAccessState TestLayoutAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_LAYOUT) return (ACCESS_AVAILABLE); else return (ACCESS_UNAVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestPartAccess() PURPOSE : enable access to the Part button \*====================================================================*/ static uiCmdAccessState TestPartAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (status == PRO_TK_NO_ERROR && mdltype == PRO_MDL_PART) return (ACCESS_AVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestAsmAccess() PURPOSE : enable access to the Asm button \*====================================================================*/ static uiCmdAccessState TestAsmAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (status == PRO_TK_NO_ERROR && mdltype == PRO_MDL_ASSEMBLY) return (ACCESS_AVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestAsmAccess() PURPOSE : enable access to the Asm button \*====================================================================*/ static uiCmdAccessState TestMfgAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (status == PRO_TK_NO_ERROR && mdltype == PRO_MDL_MFG) return (ACCESS_AVAILABLE); } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestAsmProcessPlanAccess() PURPOSE : enable access to the Asm Process button \*====================================================================*/ static uiCmdAccessState TestAsmProcessPlanAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; ProMdlsubtype subtype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_ASSEMBLY && status == PRO_TK_NO_ERROR) { status = ProMdlSubtypeGet(mdl,&subtype); if (subtype == PROMDLSTYPE_ASM_PROCPLAN && status == PRO_TK_NO_ERROR) return (ACCESS_AVAILABLE); } } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestAsmMoldLayoutAccess() PURPOSE : enable access to the Asm Mold Layout button \*====================================================================*/ static uiCmdAccessState TestAsmMoldLayoutAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; ProMdlsubtype subtype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_ASSEMBLY && status == PRO_TK_NO_ERROR) { status = ProMdlSubtypeGet(mdl,&subtype); if (subtype == PROMDLSTYPE_ASM_CLASS_CAV && status == PRO_TK_NO_ERROR) return (ACCESS_AVAILABLE); } } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : TestMfgMoldCavityAccess() PURPOSE : enable access to the Asm Mold Layout button \*====================================================================*/ static uiCmdAccessState TestMfgMoldCavityAccess(uiCmdAccessMode access_mode) { ProMdl mdl; ProError status; ProMdlType mdltype; ProMdlsubtype subtype; status = ProMdlCurrentGet(&mdl); if (status == PRO_TK_NO_ERROR) { status = ProMdlTypeGet(mdl, &mdltype); if (mdltype == PRO_MDL_MFG && status == PRO_TK_NO_ERROR) { status = ProMdlSubtypeGet(mdl,&subtype); if (subtype == PROMDLSTYPE_MFG_MOLD && status == PRO_TK_NO_ERROR) return (ACCESS_AVAILABLE); } } return (ACCESS_UNAVAILABLE); } /*====================================================================*\ FUNCTION : main() PURPOSE : To test ProToolkitMain \*====================================================================*/ int main(int argc, char**argv) { ProTKFprintf(stderr, "Welcome to PRO/TOOLKIT -the \"pt_example\" program\n"); ProToolkitMain(argc, argv); return (0); } /*====================================================================*\ FUNCTION : user_initialize() PURPOSE : Pro/DEVELOP standard initialize - define menus. \*====================================================================*/ int user_initialize( int argc, /** Number of arguments **/ char *argv[], /** Pro/E arguments **/ char *proe_vsn, /** Pro/E version **/ char *build, /** Pro/E build **/ wchar_t err_buff[]) /** Error buffer **/ { ProError status; ProPath w_path; int menu_id; int size, a; char str[PRO_PATH_SIZE], path[PRO_PATH_SIZE]; ProComment w_com; int ProTestMain(); int ProTestPart(); int ProTestAsm(); int ProTestDraw(); int ProTestDiagram(); int ProTestLayout(); int ProTestMfg(); int ProTestMfgNew(); int ProTestMoldLayoutMenu(); int ProTestProcstep(); int ProTestWeldMenu(); int ProTestReport(); ProError ProTestFemMeshMenu(); ProError ProTestCavityLayoutMenu(); int ProTestMoldProd(); ProFileName message_file; uiCmdCmdId cmd_id, cmd_id_draw, cmd_id_diagram, cmd_id_report, cmd_id_layout; /*--------------------------------------------------------------------*\ Check the size of wchar_t \*--------------------------------------------------------------------*/ status = ProWcharSizeVerify( sizeof(wchar_t), &size ); TEST_CALL_REPORT( "ProWcharSizeVerify()", "user_initialize()", status, status !=PRO_TK_NO_ERROR ); if( status !=PRO_TK_NO_ERROR ) { ProTKSprintf(str,"ERROR wchar_t has size %d - should be %d", sizeof(wchar_t), size ); ProUtilMsgPrint("gen", "TEST %0s", str); ProTKPrintf("%s\n", str); return(-1); } /*--------------------------------------------------------------------*\ Check that the Pro/E version and build are OK \*--------------------------------------------------------------------*/ if(proe_vsn == NULL) { ProUtilstrcpy(str,"Pro/E version set to NULL"); ProUtilMsgPrint("gen", "TEST %0s", str); ProTKPrintf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); } if(build == NULL) { ProUtilstrcpy(str, "Pro/E build set to NULL"); ProUtilMsgPrint("gen", "TEST %0s", str); ProTKPrintf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); } if(sscanf(build, "%d", &a) < 1) { ProTKSprintf(str, "Pro/E build invalid : %s", build); ProUtilMsgPrint("gen", "TEST %0s", str); ProTKPrintf("%s\n",str); ProStringToWstring(err_buff, str); return(-1); } /*--------------------------------------------------------------------*\ Parse the command line setting application parameters \*--------------------------------------------------------------------*/ ProUtilCommandLineParse( argc, argv ); /*--------------------------------------------------------------------*\ Print the input arguments \*--------------------------------------------------------------------*/ ProTKPrintf("\n"); for(a=0;a<argc;a++) ProTKPrintf("\targv[%d] = %s\n", a, argv[a]); ProTKPrintf("\tPro/E version = %s\n", proe_vsn); ProTKPrintf("\tPro/E build = %s\n", build); /*--------------------------------------------------------------------*\ Open the error log file. \*--------------------------------------------------------------------*/ if(argc > 4) ProTestErrlogOpen(argv[4], proe_vsn, build); else ProTestErrlogOpen((char*)"pt_toolkit", proe_vsn, build); /*--------------------------------------------------------------------*\ Test ProToolkit functions \*--------------------------------------------------------------------*/ TEST_CALL_REPORT("ProToolkitMain()", "user_initialize()", PRO_TK_NO_ERROR, 0); TEST_CALL_REPORT( "ProWcharSizeVerify()", "user_initialize()", status , 0); status = ProToolkitApplExecPathGet( w_path ); TEST_CALL_REPORT( "ProToolkitApplExecPathGet()", "user_initialize()", status, status != PRO_TK_NO_ERROR ); ProTKSprintf(str, "Exec path is %0s", ProWstringToString( path, w_path )); ProUtilMsgPrint( "gen", "TEST %0s", str); ProMessageClear(); TEST_CALL_REPORT( "ProMessageClear()", "user_initialize()", PRO_TK_NO_ERROR, 0 ); status = ProToolkitApplTextPathGet( w_path ); TEST_CALL_REPORT( "ProToolkitApplTextPathGet()", "user_initialize()", status, status != PRO_TK_NO_ERROR ); ProTKSprintf(str, "Text path is %0s", ProWstringToString( path, w_path )); ProUtilMsgPrint( "gen", "TEST %0s", str); ProMessageClear(); TEST_CALL_REPORT( "ProMessageClear()", "user_initialize()", PRO_TK_NO_ERROR, 0 ); /*---------------------------------------------------------------------*\ Add "PTExamples" after info button to the menu bar \*---------------------------------------------------------------------*/ ProStringToWstring(message_file, (char*)"gen_msg.txt"); status = ProMenubarMenuAdd ((char*)"PTExamples", (char*)"PTExamples", (char*)"Info", PRO_B_TRUE, message_file); TEST_CALL_REPORT( "ProMenubarMenuAdd()", "user_initialize()", PRO_TK_NO_ERROR, 0 ); /*---------------------------------------------------------------------*\ Add "-Main" button to the menu bar \*---------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-Main", (uiCmdCmdActFn)ProTestMain, uiProe2ndImmediate, TestAccessDefault, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-Main", (char*)"-Main", (char*)"Non-mode-specific Pro/TOOLKIT test commands", NULL, PRO_B_TRUE, cmd_id, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /*---------------------------------------------------------------------*\ Add "-Drawing" button to the menu bar \*---------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TKDrawingtest", (uiCmdCmdActFn)ProTestDraw, uiProe2ndImmediate, TestDrawingAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_draw); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TKDrawingtest", (char*)"-TKDrawingtest", (char*)"Drawing Test menu", (char*)"-Main", PRO_B_TRUE, cmd_id_draw, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /*---------------------------------------------------------------------*\ Add "-Diagram" button to the menu bar \*---------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TKDiagramtest", (uiCmdCmdActFn)ProTestDiagram, uiProe2ndImmediate, TestDiagramAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_diagram); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TKDiagramtest", (char*)"-TKDiagramtest", (char*)"Diagram Test menu", (char*)"-TKDrawingtest", PRO_B_TRUE, cmd_id_diagram, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /*---------------------------------------------------------------------*\ Add "-Report" button to the menu bar \*---------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TKReporttest", (uiCmdCmdActFn)ProTestReport, uiProe2ndImmediate, TestReportAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_report); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TKReporttest", (char*)"-TKReporttest", (char*)"Report Test menu", (char*)"-TKDiagramtest", PRO_B_TRUE, cmd_id_report, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /*---------------------------------------------------------------------*\ Add "-Layout" button to the menu bar \*---------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TKLayouttest", (uiCmdCmdActFn)ProTestLayout, uiProe2ndImmediate, TestLayoutAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TKLayouttest", (char*)"-TKLayouttest", (char*)"Layout Test menu", (char*)"-TKReporttest", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); /*--------------------------------------------------------------------*\ Add to the part menu. \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkPart", (uiCmdCmdActFn)ProTestPart, uiProe2ndImmediate, TestPartAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkPart", (char*)"-TkPart", (char*)"Menu of commands for testing Pro/TOOLKIT in part mode", (char*)"-TKLayouttest", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); #ifndef PT_PRODUCTS_BUILD ProMenuFileRegister((char*)"part",(char*)"part.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"part",(char*)"part.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"part",(char*)"-TkPart", (ProMenubuttonAction)ProTestPart, NULL, 0); #else ProMenuFileRegister("jr_part", "jnew_part.mnu", &menu_id); status = ProMenuAuxfileRegister("jr_part", "part.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet("jr_part", "-TkPart", ProTestPart, NULL, 0); #endif /*--------------------------------------------------------------------*\ Add to the assembly menu. \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkAsm", (uiCmdCmdActFn)ProTestAsm, uiProe2ndImmediate, TestAsmAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkAsm", (char*)"-TkAsm", (char*)"Menu of commands for testing Pro/TOOLKIT in assembly mode", (char*)"-TkPart", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"assembly",(char*)"assembly.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"assembly",(char*)"assembly.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"assembly",(char*)"-TkAsm", (ProMenubuttonAction)ProTestAsm, NULL, 0); /*--------------------------------------------------------------------*\ Add to the diagram menu. \*--------------------------------------------------------------------*/ ProMenuFileRegister((char*)"diagram",(char*)"diagram.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"diagram",(char*)"diagram.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"diagram",(char*)"-TkDiagram", (ProMenubuttonAction)ProTestDiagram, NULL, 0); /*--------------------------------------------------------------------*\ Add to the Layout menu. \*--------------------------------------------------------------------*/ ProMenuFileRegister((char*)"notebook",(char*)"notebook.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"notebook",(char*)"notebook.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"notebook",(char*)"-TkLayout", (ProMenubuttonAction)ProTestLayout, NULL, 0); /*--------------------------------------------------------------------*\ Add to the manufacturing menu \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkMfgNew", (uiCmdCmdActFn)ProTestMfgNew, uiProe2ndImmediate, TestMfgAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkMfgNew", (char*)"-TkMfgNew", (char*)"Command for testing Pro/TOOLKIT in manufacturing mode new", (char*)"-TkAsm", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProCmdActionAdd((char*)"-TkMfg", (uiCmdCmdActFn)ProTestMfg, uiProe2ndImmediate, TestMfgAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkMfg", (char*)"-TkMfg", (char*)"Command for testing Pro/TOOLKIT in manufacturing mode", (char*)"-TkMfgNew", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"manufacture",(char*)"mfg.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"manufacture",(char*)"mfg.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"manufacture",(char*)"-TkMfg", (ProMenubuttonAction)ProTestMfg, NULL,0); ProMenubuttonActionSet((char*)"manufacture",(char*)"-TkMfgNew", (ProMenubuttonAction)ProTestMfgNew, NULL, 0); /*--------------------------------------------------------------------*\ Add to the mold menu \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkCavityLayout", (uiCmdCmdActFn)ProTestCavityLayoutMenu, uiProe2ndImmediate, TestMfgMoldCavityAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkCavityLayout", (char*)"-TkCavityLayout", (char*)"Testing cavity layout function", (char*)"-TkMfg", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"mold",(char*)"mold.mnu", &menu_id); ProMenuAuxfileRegister((char*)"mold",(char*)"mold.aux", &menu_id); ProMenubuttonActionSet((char*)"mold",(char*)"-TkCavityLayout", (ProMenubuttonAction)ProTestCavityLayoutMenu,NULL,0); /*--------------------------------------------------------------------*\ Add to the mold layout menu \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkMold Layout", (uiCmdCmdActFn)ProTestMoldLayoutMenu, uiProe2ndImmediate, TestMfgMoldCavityAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkMold Layout", (char*)"-TkMold Layout", (char*)"Mold Layout Test menu", (char*)"-TkCavityLayout", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"Mold_Layout20", (char*)"rmdt.mnu", &menu_id); ProMenuAuxfileRegister((char*)"Mold_Layout20", (char*)"rmdt.aux", &menu_id); ProMenubuttonActionSet((char*)"Mold_Layout20",(char*)"-TkMold Layout", (ProMenubuttonAction)ProTestMoldLayoutMenu, NULL, 0); /*--------------------------------------------------------------------*\ Add to the asm#process menu \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-Step Active Set", (uiCmdCmdActFn)ProTestProcstep, uiProe2ndImmediate, TestAsmProcessPlanAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-Step Active Set", (char*)"-Step Active Set", (char*)"Set Active step for process",(char*) "-TkMold Layout", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"Asm process", (char*)"asmprocess.mnu", &menu_id); ProMenuAuxfileRegister((char*)"Asm process", (char*)"asmprocess.aux", &menu_id); ProMenubuttonActionSet((char*)"Asm process", (char*)"-Step Active Set", (ProMenubuttonAction)ProTestProcstep, NULL, 0); /*--------------------------------------------------------------------*\ Add to the drawing menu. \*--------------------------------------------------------------------*/ ProMenuFileRegister((char*)"drawing",(char*)"draw.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"drawing",(char*)"draw.aux", &menu_id); TEST_CALL_REPORT("ProMenuAuxfileRegister()", "user_initialize()", status, status !=PRO_TK_NO_ERROR); ProMenubuttonActionSet((char*)"drawing",(char*)"-TkDrawing", (ProMenubuttonAction)ProTestDraw, NULL, 0); ProStringToWstring(w_com, (char*)"Application pt_examples started"); status = ProTrailfileCommentWrite(w_com); TEST_CALL_REPORT("ProTrailfileCommentWrite()", "user_initialize()", status, status != PRO_TK_NO_ERROR); /*--------------------------------------------------------------------*\ Add to the FEM menu. \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkFEM", (uiCmdCmdActFn)ProTestFemMeshMenu, uiProe2ndImmediate, TestAsmAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkFEM", (char*)"-TkFEM", (char*)"Test Pro/MECHANICA FEM Mesh function", (char*)"-Step Active Set", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"assembly",(char*)"assembly.mnu", &menu_id); status = ProMenuAuxfileRegister((char*)"assembly",(char*)"tk_fem.aux", &menu_id); ProMenubuttonActionSet((char*)"assembly",(char*)"TkFEM", (ProMenubuttonAction)ProTestFemMeshMenu, NULL, 0); /*--------------------------------------------------------------------*\ Add to the welding menu. \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkWelding", (uiCmdCmdActFn)ProTestWeldMenu, uiProe2ndImmediate, TestAsmAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkWelding", (char*)"-TkWelding", (char*)"Welding Test menu", (char*)"-TkFEM", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"welding",(char*)"welding.mnu", &menu_id); ProMenuAuxfileRegister((char*)"welding",(char*)"welding.aux", &menu_id); ProMenubuttonActionSet((char*)"welding",(char*)"-TkWelding", (ProMenubuttonAction)ProTestWeldMenu, NULL, 0); /*--------------------------------------------------------------------*\ Add to the mold product menu. \*--------------------------------------------------------------------*/ status = ProCmdActionAdd((char*)"-TkMoldProd", (uiCmdCmdActFn)ProTestMoldProd, uiProe2ndImmediate, TestAsmAccess, PRO_B_TRUE, PRO_B_TRUE, &cmd_id_layout); TEST_CALL_REPORT("ProCmdActionAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); status = ProMenubarmenuPushbuttonAdd( (char*)"PTExamples", (char*)"-TkMoldProd", (char*)"-TkMoldProd", (char*)"Mold Test menu", (char*)"-TkWelding", PRO_B_TRUE, cmd_id_layout, message_file); TEST_CALL_REPORT("ProMenubarmenuPushbuttonAdd", "user_initialize", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"MOLD LAYOUT",(char*)"moldprod.mnu", &menu_id); ProMenuAuxfileRegister((char*)"MOLD LAYOUT",(char*)"moldprod.aux", &menu_id); ProMenubuttonActionSet((char*)"MOLD LAYOUT",(char*)"-TkMoldProd", (ProMenubuttonAction)ProTestMoldProd,NULL,0); /*--------------------------------------------------------------------*\ Add to the report menu. \*--------------------------------------------------------------------*/ ProMenuFileRegister((char*)"report",(char*)"report.mnu", &menu_id); ProMenuAuxfileRegister((char*)"report",(char*)"report.aux", &menu_id); ProMenubuttonActionSet((char*)"report",(char*)"-TkReport", (ProMenubuttonAction)ProTestReport, NULL, 0); /*--------------------------------------------------------------------*\ Register analysis types \*--------------------------------------------------------------------*/ ProTestAnalysisRegister (); /*--------------------------------------------------------------------*\ Add button to Resolve Feat menu \*--------------------------------------------------------------------*/ ProUtilResolveFeatMenu (); return(0); } /*====================================================================*\ FUNCTION : user_terminate() PURPOSE : Pro/DEVELOP standard termination \*====================================================================*/ void user_terminate() { ProTestErrlogClose(); } /*====================================================================*\ FUNCTION : ProTestMain() PURPOSE : Define and activate menu of Toolkit Test commands which are not mode-specific and therefore appear below the Main Menu. \*====================================================================*/ int ProTestMain() { int menu_id, action; int ProTestViewMenu(); int ProTestObjWinMenu(); int ProTestChangeDir(); int ProTestMessage(); int ProTestMacro(); int ProTestConfig(); int ProTestMenuBar(); int ProTestUITableEditExample(); ProMenuFileRegister((char*)"TkMain",(char*)"tkmain.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Notify", (ProMenubuttonAction)ProTestNotify, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Dbms", (ProMenubuttonAction)ProTestDbms, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Section", (ProMenubuttonAction)ProTestSectionMenuAction, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Simp Rep", (ProMenubuttonAction)ProTestSRepRetrieve, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Menus", (ProMenubuttonAction)ProTestMenus, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-MenuBar", (ProMenubuttonAction)ProTestMenuBar, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Message", (ProMenubuttonAction)ProTestMessage, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Macro", (ProMenubuttonAction)ProTestMacro, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Obj Windows", (ProMenubuttonAction)ProTestObjWinMenu, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-View", (ProMenubuttonAction) ProTestViewMenu, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-UI Table Edit", (ProMenubuttonAction) ProTestUITableEditExample, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"MULTI-CAD", (ProMenubuttonAction)ProTestMultiCADFile, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Change dir", (ProMenubuttonAction)ProTestChangeDir, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Config Opt", (ProMenubuttonAction)ProTestConfig, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"-Done", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkMain",(char*)"TkMain", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkMain", &menu_id); ProMenuProcess((char*)"", &action); return(0); } /*====================================================================*\ FUNCTION : ProTestPart() PURPOSE : Define and activate menu of Toolkit Test commands for parts \*====================================================================*/ int ProTestPart() { ProMdl part; ProError status; int ProTestFeatures(ProMdl *); int ProTestAnalysis (); int ProTestGeometry(); int ProTestGeneData(); int ProTestMisc(); int ProTestLayerMenu(); // int ProTestLayerR19Menu(); int ProTestAnimation(); int ProTestGraphics(); int ProTestPartMaterial(); int ProTestFamlyTabMenu(); int ProTestCollection(); int ProTestRelationsMenu(); int ProTestInterface(); int ProTestXsec(); int ProTestDimensionMenu(); int ProTestDispObjectSetMenu(); int menu_id, action; status = ProMdlCurrentGet(&part); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestPart()", status, status != PRO_TK_NO_ERROR); ProMenuPush(); ProMenuFileRegister((char*)"TkPart",(char*)"tkpart.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkPart",(char*)"TkPart", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-ExtAnalysis", (ProMenubuttonAction)ProTestAnalysis, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Features", (ProMenubuttonAction)ProTestFeatures, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Geometry", (ProMenubuttonAction)ProTestGeometry, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Selection", (ProMenubuttonAction)ProTestSelection, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Parameters", (ProMenubuttonAction)ProTestParams, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Family Tab", (ProMenubuttonAction)ProTestFamlyTabMenu, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Extobj", (ProMenubuttonAction)ProTestExtobj, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Dbms", (ProMenubuttonAction)ProTestDbms, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-SimpRep", (ProMenubuttonAction)ProTestSimpRep, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Interface", (ProMenubuttonAction)ProTestInterface, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Set Up", (ProMenubuttonAction)ProTestSetupMnu, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Layer", (ProMenubuttonAction)ProTestLayerMenu, &part, 0); // ProMenubuttonActionSet((char*)"TkPart",(char*)"-LayerR19", // (ProMenubuttonAction)ProTestLayerR19Menu, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Appdata", (ProMenubuttonAction)ProTestGeneData, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Misc", (ProMenubuttonAction)ProTestMisc, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Animation", (ProMenubuttonAction)ProTestAnimation, NULL, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Graphics", (ProMenubuttonAction)ProTestGraphics, NULL, 0); ProMenubuttonActionSet((char*) "TkPart",(char*)"-Material", (ProMenubuttonAction)ProTestPartMaterial, &part, 0); ProMenubuttonActionSet( (char*)"TkPart",(char*)"-Collection", (ProMenubuttonAction)ProTestCollection, &part, 0); ProMenubuttonActionSet( (char*)"TkPart",(char*)"-Relations", (ProMenubuttonAction)ProTestRelationsMenu, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Done/Return", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Xsec", (ProMenubuttonAction)ProTestXsec, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-Dimension", (ProMenubuttonAction)ProTestDimensionMenu, &part, 0); ProMenubuttonActionSet((char*)"TkPart",(char*)"-DisplayObj", (ProMenubuttonAction)ProTestDispObjectSetMenu, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkPart", &menu_id); ProMenuProcess((char*)"", &action); ProMenuPop(); return(0); } /*====================================================================*\ FUNCTION : ProTestAsm() PURPOSE : Define and activate menu of Toolkit Test commands for assemblies. \*====================================================================*/ int ProTestAsm() { ProMdl assembly; ProError status; int ProTestFeatures(ProMdl *); int ProTestGeometry(); int ProTestMisc(); int ProTestLayerMenu(); // int ProTestLayerR19Menu(); int ProTestAnimation(); int ProTestAsmFunc(); int ProTestAsmcomppathFunc(); int ProTestAsmcompFunc(); int ProTestGraphics(); int ProTestFamlyTabMenu(); int ProTestCollection(); int ProTestInterface(); int ProTestXsec(); int ProTestDimensionMenu(); int ProTestDrag(); int ProTestDispObjectSetMenu(); int menu_id, action; int ProTestExtrnReferences (ProMdl *model); /* TestExtref.c */ status = ProMdlCurrentGet(&assembly); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestAsm()", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"TkAsm",(char*)"tkasm.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkAsm",(char*) "TkAsm", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Features", (ProMenubuttonAction)ProTestFeatures, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Geometry", (ProMenubuttonAction)ProTestGeometry, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Selection", (ProMenubuttonAction)ProTestSelection, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Parameters", (ProMenubuttonAction)ProTestParams, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Family Tab", (ProMenubuttonAction)ProTestFamlyTabMenu, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Extobj", (ProMenubuttonAction)ProTestExtobj, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Dbms", (ProMenubuttonAction)ProTestDbms, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-SimpRep", (ProMenubuttonAction)ProTestSimpRep, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Interface", (ProMenubuttonAction)ProTestInterface, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Set Up", (ProMenubuttonAction)ProTestSetupMnu, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Layer", (ProMenubuttonAction)ProTestLayerMenu, &assembly, 0); // ProMenubuttonActionSet((char*)"TkAsm",(char*)"-LayerR19", // (ProMenubuttonAction)ProTestLayerR19Menu, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Misc", (ProMenubuttonAction)ProTestMisc, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Expl/Unexpl", (ProMenubuttonAction)ProTestAsmFunc, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Rotate comp", (ProMenubuttonAction)ProTestAsmcomppathFunc, &assembly,0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Components", (ProMenubuttonAction)ProTestAsmcompFunc, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Animation", (ProMenubuttonAction)ProTestAnimation, NULL, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Graphics", (ProMenubuttonAction)ProTestGraphics, NULL, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Collection", (ProMenubuttonAction)ProTestCollection, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-ExtRef", (ProMenubuttonAction)ProTestExtrnReferences, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Xsec", (ProMenubuttonAction)ProTestXsec, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Dimension", (ProMenubuttonAction)ProTestDimensionMenu, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Drag", (ProMenubuttonAction)ProTestDrag, &assembly, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-DisplayObj", (ProMenubuttonAction)ProTestDispObjectSetMenu, NULL, 0); ProMenubuttonActionSet((char*)"TkAsm",(char*)"-Done/Return", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkAsm", &menu_id); ProMenuProcess((char*)"", &action); return(0); } /*====================================================================*\ FUNCTION : ProTestDiagram() PURPOSE : Define and activate menu of Toolkit Test commands for diagram \*====================================================================*/ int ProTestDiagram() { ProMdl diagram; ProError status; int ProTestLayerMenu(); // int ProTestLayerR19Menu(); int menu_id, action; status = ProMdlCurrentGet(&diagram); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestDiagram()", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"TkDiagram",(char*)"tkdiagram.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkDiagram",(char*)"TkDiagram", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkDiagram",(char*)"-Layer", (ProMenubuttonAction)ProTestLayerMenu, &diagram, 0); // ProMenubuttonActionSet((char*)"TkDiagram",(char*)"-LayerR19", // (ProMenubuttonAction)ProTestLayerR19Menu, &diagram, 0); ProMenubuttonActionSet((char*)"TkDiagram",(char*)"Done TkDiagram", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkDiagram", &menu_id); ProMenuProcess((char*)"", &action); return(0); } int ProTestMfg() { ProMdl mfg; ProError status; int ProTestFeatures(ProMdl *); status = ProMdlCurrentGet(&mfg); status = (ProError) ProTestFeatures(&mfg); return 0; } /*====================================================================*\ FUNCTION : ProTestLayout() PURPOSE : Define and activate menu of Toolkit Test commands for layout \*====================================================================*/ int ProTestLayout() { ProMdl layout; ProError status; int menu_id, action; status = ProMdlCurrentGet(&layout); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestLayout()", status, status != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"TkLayout",(char*)"tklayout.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkLayout",(char*)"TkLayout", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkLayout",(char*)"-Parameters", (ProMenubuttonAction)ProTestParams, &layout, 0); ProMenubuttonActionSet((char*)"TkLayout",(char*)"Done TkLayout", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN,(char*)"TkLayout", &menu_id); ProMenuProcess((char*)"", &action); return(0); } /*====================================================================*\ FUNCTION : ProTestChangeDir() PURPOSE : Change Pro/E to a new directory \*====================================================================*/ int ProTestChangeDir() { char dir[PRO_PATH_SIZE]; char str[PRO_PATH_SIZE]; ProPath w_dir; static ProPath last_dir; ProError status; ProUtilMsgPrint("gen", "TEST %0s", "Enter a directory name or <back>:"); if (ProUtilStringGet(w_dir, NULL, PRO_LINE_SIZE)==0) return (0); if (ProUtilStrnwscmp((char*)"<back>", w_dir, 6)==0) { status = ProDirectoryChange(last_dir); } else { status = ProDirectoryCurrentGet(last_dir); TEST_CALL_REPORT("ProDirectoryCurrentGet()", "ProTestChangeDir()", status, status !=PRO_TK_NO_ERROR); status = ProDirectoryChange(w_dir); } TEST_CALL_REPORT("ProDirectoryChange()", "ProTestChangeDir()", status, 0); if (status == PRO_TK_NO_ERROR) ProUtilMsgPrint("gen", "TEST %0s", "Directory succesfully changed"); else ProUtilMsgPrint("gen", "TEST %0s", "Directory NOT changed"); ProMessageClear(); status = ProDirectoryCurrentGet(w_dir); TEST_CALL_REPORT("ProDirectoryCurrentGet()", "ProTestChangeDir()", status, status !=PRO_TK_NO_ERROR); ProWstringToString(dir, w_dir); ProTKSprintf (str, "Current directory is %s", dir); ProUtilMsgPrint("gen", "TEST %0s", str); return(0); } /*====================================================================*\ FUNCTION : ProTestLayout() PURPOSE : Define and activate menu of Toolkit Test commands for mold products \*====================================================================*/ int ProTestMoldProd () { ProMdl mdl; ProError err; int menu_id, action; int ProTestImm (); int ProTestMoldBase (); err = ProMdlCurrentGet(&mdl); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestMoldProd()", err, err != PRO_TK_NO_ERROR); ProMenuFileRegister((char*)"TkMoldProd",(char*)"tkmoldprod.mnu", &menu_id); ProMenubuttonActionSet((char*)"TkMoldProd",(char*)"TkMoldProd", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkMoldProd",(char*)"-MoldBase", (ProMenubuttonAction)ProTestMoldBase, mdl, 0); ProMenubuttonActionSet((char*)"TkMoldProd",(char*)"-Imm", (ProMenubuttonAction)ProTestImm, mdl, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkMoldProd", &menu_id); ProMenuProcess((char*)"", &action); return (0); } int ProTestReport() { ProError status; ProMdl model; int action; int ProTestDrwSimpRep(); ProError ProTestDrwTable(ProDrawing drawing); status = ProMdlCurrentGet(&model); TEST_CALL_REPORT("ProMdlCurrentGet()", "ProTestReport()", status, status != PRO_TK_NO_ERROR); ProMenuPush (); ProMenuFileRegister((char*)"TkReport",(char*)"tkreport.mnu", NULL); ProMenubuttonActionSet((char*)"TkReport",(char*)"-Table", (ProMenubuttonAction)ProTestDrwTable, &model, 0); ProMenubuttonActionSet((char*)"TkReport",(char*)"-simp rep", (ProMenubuttonAction)ProTestDrwSimpRep, &model, 0); ProMenubuttonActionSet((char*)"TkReport",(char*)"TkReport", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenubuttonActionSet((char*)"TkReport",(char*)"-Done/Return", (ProMenubuttonAction)ProMenuDelete, NULL, 0); ProMenuCreate(PROMENUTYPE_MAIN, (char*)"TkReport", NULL); ProMenuProcess((char*)"", &action); ProMenuPop(); return (0); }