/* Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved. */ /*---------------------- Pro/Toolkit Includes ------------------------*/ #include <ProToolkit.h> #include <ProMenu.h> #include <ProMdl.h> #include <ProMenuBar.h> #include <ProUtil.h> #include <PTApplsUnicodeUtils.h> /*---------------------- Application Includes ------------------------*/ #include <TestError.h> /*---------------------- Function Prototypes -------------------------*/ int user_initialize(int argc, char *argv[], char *proe_vsn, char *build); void user_terminate(); /*------------------------- External Data ----------------------------*/ extern int UserPartSetup(); extern int UserAssemblySetup(); extern int UserMechanicaSetup(); extern int UserUnicodeToNativeAndLegacy(); extern int UserUnicodeToUnicode(); extern int UserReadNativeToUnicode(); extern int UserReadUnicodeToUnicode(); extern int UserManufactureSetup(); extern int UserDrawingSetup(); extern ProError UserREADMESetup(); extern ProError UserGuideMain(); extern int UserNewDrawingMenuSetup(); extern int UserUIMenuSetup(); extern int UserPopupmenusSetup(); extern int UserCustomRelFunctionsDefine(); extern int UserCustomModelChecksDefine(); extern int UserSolidNoteCreate(); /*====================================================================*\ Function : user_initialize Purpose : Initialize Pro/TOOLKIT program \*====================================================================*/ int user_initialize( int argc, /** Number of arguments **/ char *argv[], /** Pro/E arguments **/ char *proe_vsn, /** Pro/E version **/ char *build) /** Pro/E build **/ { int menu,i; uiCmdCmdId cmd_id; ProFileName wmsgfil; ProError err; /*--------------------------------------------------------------------*\ Print out Pro/E version and build and set up logging if required \*--------------------------------------------------------------------*/ ProTKPrintf("\n"); for(i=0;i<argc;i++) ProTKPrintf("\targv[%d] = %s\n", i, argv[i]); ProTKPrintf("\tPro/E version = %s\n", proe_vsn); ProTKPrintf("\tPro/E build = %s\n", build); if (argc > 4) ProTestErrlogOpen(argv[4], proe_vsn, build); else ProTestErrlogOpen("pt_userguide", proe_vsn, build); /*---------------------------------------------------------------------*\ Set up the entry point to the demos \*---------------------------------------------------------------------*/ ProStringToWstring (wmsgfil, "utilities.txt"); err = ProMenubarMenuAdd ("UGMENU", "-UG MENU", "Utilities", PRO_B_TRUE, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarMenuAdd()",err); err = ProCmdActionAdd("-UG README!", (uiCmdCmdActFn)UserREADMESetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UG README!", "-UG README!", "Enter the README menu of the User Guide", NULL, PRO_B_FALSE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); /*--------------------------------------------------------------------*\ Register a menu button icon for the command \*--------------------------------------------------------------------*/ err = ProCmdIconSet (cmd_id, "tkreadme.gif"); ERROR_CHECK("user_initialize","ProCmdIconSet()",err); /*--------------------------------------------------------------------*\ Make the command available as a Toolbar button \*--------------------------------------------------------------------*/ err = ProCmdDesignate (cmd_id, "-UG README!", "Enter the README menu of the User Guide", "UG README description", wmsgfil); ERROR_CHECK("user_initialize","ProCmdDesignate()",err); err = ProCmdActionAdd("-UsrGuide Main", (uiCmdCmdActFn)UserGuideMain, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide Main", "-UsrGuide Main", "Enter the Main menu of the User Guide.", NULL, PRO_B_FALSE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProCmdIconSet (cmd_id, "tkmain.gif"); ERROR_CHECK("user_initialize","ProCmdIconSet()",err); err = ProCmdDesignate (cmd_id, "-UsrGuide Main", "Enter the Main menu of the User Guide.", "UG Main description", wmsgfil); ERROR_CHECK("user_initialize","ProCmdDesignate()",err); err = ProCmdActionAdd("-TK Round", (uiCmdCmdActFn)UserEdgeRoundCreate, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProCmdIconSet (cmd_id, "tkround"); ERROR_CHECK("user_initialize","ProCmdIconSet()",err); err = ProCmdDesignate (cmd_id, "-UsrGuide Round", "Userguide Round Example", "UG Round description", wmsgfil); ERROR_CHECK("user_initialize","ProCmdDesignate()",err); err = ProCmdActionAdd("-TK Note Create", (uiCmdCmdActFn)UserSolidNoteCreate, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProCmdIconSet (cmd_id, "tknote"); ERROR_CHECK("user_initialize","ProCmdIconSet()",err); err = ProCmdDesignate (cmd_id, "-UsrGuide Solid Note", "Userguide Solid Note Example", "UG Solid Note description", wmsgfil); ERROR_CHECK("user_initialize","ProCmdDesignate()",err); /*--------------------------------------------------------------------*\ Part menu \*--------------------------------------------------------------------*/ err = ProCmdActionAdd("-UsrGuide Part", (uiCmdCmdActFn)UserPartSetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide Part", "-UsrGuide Part", "Enter the Part menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProMenuFileRegister("part","part.mnu",&menu); ERROR_CHECK("user_initialize","ProMenuFileRegister()",err); err = ProMenuAuxfileRegister("part","part.aux",&menu); ERROR_CHECK("user_initialize","ProMenuAuxfileRegister()",err); err = ProMenubuttonActionSet("part","-UG Part", (ProMenubuttonAction)UserPartSetup,NULL,0); ERROR_CHECK("user_initialize","ProMenubuttonActionSet()",err); /*--------------------------------------------------------------------*\ Assembly menu \*--------------------------------------------------------------------*/ err = ProCmdActionAdd("-UsrGuide Asm", (uiCmdCmdActFn)UserAssemblySetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide Asm", "-UsrGuide Asm", "Enter the Assembly menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProMenuFileRegister("assembly","assembly.mnu",&menu); ERROR_CHECK("user_initialize","ProMenuFileRegister()",err); err = ProMenuAuxfileRegister("assembly","assembly.aux",&menu); ERROR_CHECK("user_initialize","ProMenuAuxfileRegister()",err); err = ProMenubuttonActionSet("assembly","-UG Assembly", (ProMenubuttonAction)UserAssemblySetup,NULL,0); ERROR_CHECK("user_initialize","ProMenubuttonActionSet()",err); err = ProCmdActionAdd("-UsrGuide MFG", (uiCmdCmdActFn)UserManufactureSetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide MFG", "-UsrGuide MFG", "Enter the MFG menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProMenuFileRegister("manufacture","mfg.mnu",&menu); ERROR_CHECK("user_initialize","ProMenuFileRegister()",err); err = ProMenuAuxfileRegister("manufacture","mfg.aux",&menu); ERROR_CHECK("user_initialize","ProMenuAuxfileRegister()",err); err = ProMenubuttonActionSet("manufacture","-UG MFG", (ProMenubuttonAction)UserManufactureSetup,NULL,0); ERROR_CHECK("user_initialize","ProMenubuttonActionSet()",err); /*--------------------------------------------------------------------*\ Drawing menu \*--------------------------------------------------------------------*/ err = ProCmdActionAdd("-UsrGuide New Drw", (uiCmdCmdActFn)UserNewDrawingMenuSetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide New Drawing", "-UsrGuide New Drawing", "Enter the New Drawing menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProCmdActionAdd("-UsrGuide Drw", (uiCmdCmdActFn)UserDrawingSetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize", "ProCmdActionAdd()", err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide Drawing", "-UsrGuide Drawing", "Enter the New Drawing menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize", "ProMenubarmenuPushbuttonAdd()", err); err = ProMenuFileRegister("drawing","draw.mnu", &menu); ERROR_CHECK("user_initialize","ProMenuFileRegister()",err); err = ProMenuAuxfileRegister("drawing","draw.aux", &menu); ERROR_CHECK("user_initialize","ProMenuAuxfileRegister()",err); err = ProMenubuttonActionSet("drawing","-UG Drawing", (ProMenubuttonAction)UserDrawingSetup,NULL,0); err = ProMenubuttonActionSet("drawing","-UG New Drawing", (ProMenubuttonAction)UserNewDrawingMenuSetup,NULL,0); ERROR_CHECK("user_initialize","ProMenubuttonActionSet()",err); err = ProCmdActionAdd("-UsrGuide UI", (uiCmdCmdActFn)UserUIMenuSetup, uiProe2ndImmediate, NULL, PRO_B_TRUE, PRO_B_TRUE, &cmd_id); ERROR_CHECK("user_initialize","ProCmdActionAdd()",err); err = ProMenubarmenuPushbuttonAdd( "UGMENU", "-UsrGuide UI", "-UsrGuide UI", "Enter the UI menu of the User Guide.", NULL, PRO_B_TRUE, cmd_id, wmsgfil); ERROR_CHECK("user_initialize","ProMenubarmenuPushbuttonAdd()",err); err = ProMenuFileRegister("drawing","draw.mnu", &menu); ERROR_CHECK("user_initialize","ProMenuFileRegister()",err); err = ProMenuAuxfileRegister("drawing","ui.aux",&menu); ERROR_CHECK("user_initialize","ProMenuAuxfileRegister()",err); err = ProMenubuttonActionSet("drawing","-UG UI", (ProMenubuttonAction)UserUIMenuSetup,NULL,0); ERROR_CHECK("user_initialize","ProMenubuttonActionSet()",err); /*---------------------------------------------------------------------*\ Initialize popup menus for selected examples \*---------------------------------------------------------------------*/ UserPopupmenusSetup(); /*---------------------------------------------------------------------*\ Initialize custom relation functions defined in this application \*---------------------------------------------------------------------*/ UserCustomRelFunctionsDefine(); /*---------------------------------------------------------------------*\ Initialize ModelCheck custom checks defined in this application \*---------------------------------------------------------------------*/ UserCustomModelChecksDefine(); /*---------------------------------------------------------------------*\ Call init functions for menu examples \*---------------------------------------------------------------------*/ err = ProUserMenubuttonMoveInit(); ERROR_CHECK("user_initialize","ProUserMenubuttonMoveInit",err); err = ProUserAddMenuInit(); ERROR_CHECK("user_initialize","ProUserAddMenuInit",err); err = ProUserConfirmationInit(); ERROR_CHECK("user_initialize","ProUserConfirmationInit",err); return(0); } void user_terminate() { }