/*
Copyright (c) 2019 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
#include <ProToolkit.h>
#include <ProMenuBar.h>
#include <ProUICmd.h>
#include <ProNotify.h>
#include <PTUDFExamples.h>
#include <PTApplsUnicodeUtils.h>
static ProFileName message_file;
/*====================================================================*\
FUNCTION : user_initialize()
PURPOSE : Application initialization
\*====================================================================*/
int user_initialize(int argc, char* argv [])
{
uiCmdCmdId cmd_id;
char* no_ui_env = NULL;
ProStringToWstring (message_file, "pt_udf_ex_menubar.txt" );
/*---------------------------------------------------------------------*\
Add the application main menu
\*---------------------------------------------------------------------*/
status = ProMenubarMenuAdd ("PTUDFExamples", "PTUDFExMenuLabel", "Info",
PRO_B_TRUE, message_file );
/*---------------------------------------------------------------------*\
Add the button for UDF placement dashboard
\*---------------------------------------------------------------------*/
status = ProCmdActionAdd("PTUDFExamples.PlaceUDF", (uiCmdCmdActFn)PTUDFExUDFDashboardMain,
uiProeImmediate, PTUDFExAccessPlaceUDF,
PRO_B_FALSE, PRO_B_FALSE, &cmd_id);
status = ProMenubarmenuPushbuttonAdd(
"PTUDFExamples", "UDFPlace",
"PTUDFExPlaceLabel",
"PTUDFEx Place a UDF using a dashboard",
NULL, PRO_B_TRUE, cmd_id, message_file);
/*---------------------------------------------------------------------*\
Add the notification to show & write the parameter data for the library AE
parameters after the library has been created or modified.
\*---------------------------------------------------------------------*/
status = ProNotificationSet (PRO_UDF_LIB_COMPLETE_POST, PTUDFExPostLibraryEditAction);
PT_TEST_LOG_SUCC ("ProNotificationSet()");
/*---------------------------------------------------------------------*\
Add the notification to prevent ungrouping.
\*---------------------------------------------------------------------*/
status = ProNotificationSet (PRO_GROUP_UNGROUP_PRE, PTUDFExUgroupPreventAction);
PT_TEST_LOG_SUCC ("ProNotificationSet()");
if (argc > 1)
{
if (strcmp (argv [1], "+no_ui") == 0)
show_ui = PRO_B_FALSE;
}
no_ui_env = getenv ("PT_UDF_EX_NO_UI");
if (no_ui_env != NULL)
show_ui = PRO_B_FALSE;
return(0);
}
void user_terminate()
{
}