/*====================================================================*\ FILE : TestConfig.c PURPOSE : Test of the some confoiguration funcs HISTORY: DATE BUILD AUTHOR MODIFICATIONS 19 Jan 97 H-01-21 Alexey $$1 First version. 28-Mar-97 H-01-30 Pavel $$2 Added support for PT/Products Toolkit 10-May-98 I-01-07 CHI $$3 Fix #include; remove obsolete call 30-Nov-98 I-01-27 akh $$4 Correct TEST_CALL_REPORTs 01-Jun-99 I-03-12 mka $$5 Delete unused variable. More include. 27-Sep-99 I-03-16 akh $$6 Fix the message: "TEST %s" -> "TEST %0s" \*====================================================================*/ /*--------------------------------------------------------------------*\ Pro/TOOLKIT includes \*--------------------------------------------------------------------*/ #include #include #include #include #include /*--------------------------------------------------------------------*\ Application includes \*--------------------------------------------------------------------*/ #include "TestError.h" #include "TestConfig.h" #include "UtilMessage.h" /*--------------------------------------------------------------------*\ Macros \*--------------------------------------------------------------------*/ #define OPT_NUM 15 #define MODE_NUM 21 /*--------------------------------------------------------------------*\ Application global/external data \*--------------------------------------------------------------------*/ char* config_options[OPT_NUM] = { "AXIS_DISPLAY", "BELL", "COLOR", "DATUM_DISPLAY", "DATUM_POINT_DISPLAY", "DATUM_POINT_TAG_DISPLAY", "DISPLAY_COORDINATE_SYS", "GRID_SNAP", "IGES_OUT_TRIM_CURVE_DEVIATION", "ORTHOGONAL_SNAP", "REGEN_BACKUP_USE_DISK", "SAVE_DISPLAY", "SEARCH_PATH", "SPIN_CENTER_DISPLAY", "TOL_DISPLAY" }; char* mode_names[MODE_NUM] = { "PRO_MODE_SKETCHER", "PRO_MODE_PART", "PRO_MODE_SHEET_METAL", "PRO_MODE_COMPOSITE", "PRO_MODE_SCAN_MODEL", "PRO_MODE_ASSEMBLY", "PRO_MODE_DRAWING", "PRO_MODE_MANUFACTURE", "PRO_MODE_MOLD", "PRO_MODE_CAST", "PRO_MODE_DIEFACE", "PRO_MODE_LAYOUT", "PRO_MODE_FORMAT", "PRO_MODE_REPORT", "PRO_MODE_MARKUP", "PRO_MODE_DIAGRAM", "PRO_MODE_INTERCHANGE", "PRO_MODE_LEGACY", "PRO_MODE_USER_DEFINED", "PRO_MODE_VERIFY", "PRO_MODE_PROCESS" }; int ProTestConfig( void* p_dummy, int int_dummy ) { ProError status; int menu_id; /* The identifier of the created menu */ int action; /* Load menu from file */ status = ProMenuFileRegister( "TkConfig", "tkconfig.mnu", &menu_id ); TEST_CALL_REPORT( "ProMenuFileRegister()", "ProTestConfig()", status, status != PRO_TK_NO_ERROR ); /* Define menu buttons */ ProMenubuttonActionSet( "TkConfig", "Get Opt", ProTestGetOption, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "Set Opt", ProTestConfigOptionSetMenu, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "Edit Cfg File", ProTestFileEdit, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "Verify Opt", ProTestOptionOrderedVerify, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "Current Mode", ProTestMode, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "Done", (ProMenubuttonAction)ProMenuDelete, NULL, 0 ); ProMenubuttonActionSet( "TkConfig", "TkConfig", (ProMenubuttonAction)ProMenuDelete, NULL, 0 ); /* Rubn MEnu */ status = ProMenuCreate( PROMENUTYPE_MAIN, "TkConfig", &menu_id ); TEST_CALL_REPORT( "ProMenuCreate()", "ProTestConfig()", status, status != PRO_TK_NO_ERROR ); if( status == PRO_TK_NO_ERROR ) { status = ProMenuProcess( "TkConfig", &action ); TEST_CALL_REPORT( "ProMenuProcess()", "ProTestConfig()", status, status != PRO_TK_NO_ERROR ); } return 0; } int ProTestGetOption( void* p_dummy, int int_dummy ) { ProError status; FILE* f; ProName w_congig_option; ProLine w_option_value; char option_value[ 80 ]; char filename[] = "pttestcfgopt.inf"; wchar_t w_filename[ PRO_PATH_SIZE ]; int i; ProInfoWindowLocation win_location = { 0.0, 0.0 }; ProInfoWindowSize win_size = { 25, 80 }; if( (f = fopen( filename, "wt" )) == NULL ) return -1; for( i=0; i