/*
Copyright (c) 2019 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
/*---------------------- Pro/Toolkit Includes ------------------------*/
#include <ProToolkit.h>
#include <ProMenu.h>
#include <ProMdl.h>
#include <ProMode.h>
#include <ProMenuBar.h>
/*---------------------- Application Includes ------------------------*/
#include <TestError.h>
extern int UserMenuDeleteAndPop();
extern int UserFullRegenerate();
extern int UsrNonlinMaterialCreateWrapper();
/*====================================================================*\
FUNCTION: UserSolidSetup()
PURPOSE: Set up the solid operations menu
\*====================================================================*/
int UserSolidSetup()
{
int menu_id, action, status;
status = ProMenuFileRegister("UGSOLID", "ugsolid.mnu", &menu_id);
ERROR_CHECK( "UserSolidSetup", "ProMenuFileRegister", status );
status = ProMenubuttonActionSet("UGSOLID","-Create Material",
(ProMenubuttonAction)UsrNonlinMaterialCreateWrapper, NULL, 0);
ERROR_CHECK( "UserSolidSetup", "ProMenubuttonActionSet", status );
status = ProMenubuttonActionSet("UGSOLID","-Full Regen",
(ProMenubuttonAction)UserFullRegenerate, NULL, 0);
ERROR_CHECK( "UserSolidSetup", "ProMenubuttonActionSet", status );
status = ProMenubuttonActionSet("UGSOLID","-Info->Mass",
(ProMenubuttonAction)UserPartInfoMass_AO, NULL, 0);
ERROR_CHECK( "UserSolidSetup", "ProMenubuttonActionSet", status );
if (UserPartInfoMass_TestAO (MODE_BLIND) != ACCESS_AVAILABLE)
ProMenubuttonVisibilitySet ("UGSOLID","-Info->Mass", PRO_B_FALSE);
status = ProMenubuttonActionSet("UGSOLID", "-Done/Return",
(ProMenubuttonAction)UserMenuDeleteAndPop, NULL,0);
ERROR_CHECK( "UserSolidSetup", "ProMenubuttonActionSet", status );
status = ProMenubuttonActionSet("UGSOLID", "UGSOLID",
(ProMenubuttonAction)UserMenuDeleteAndPop, NULL, 0);
ERROR_CHECK( "UserSolidSetup", "ProMenubuttonActionSet", status );
status = ProMenuPush();
ERROR_CHECK( "UserSolidSetup", "ProMenuPush", status );
status = ProMenuCreate(PROMENUTYPE_MAIN, "UGSOLID", &menu_id);
ERROR_CHECK( "UserSolidSetup", "ProMenuCreate", status );
status = ProMenuProcess("UGSOLID", &action);
ERROR_CHECK( "UserSolidSetup", "ProMenuProcess", status );
return(PRO_TK_NO_ERROR);
}