#ifndef PROMFGPROCTABLE_H_ #define PROMFGPROCTABLE_H_ #include <ProToolkit.h> PRO_BEGIN_C_DECLS #include <ProUICmd.h> #include <ProModelitem.h> #include <ProNcseq.h> #include <ProNcseqElem.h> #include <ProNcseqElem.h> typedef struct pro_model_item ProMfgprocItem; typedef enum { PRO_MFGPROCITEM_STEP, PRO_MFGPROCITEM_OPERATION, PRO_MFGPROCITEM_WORKCELL } ProMfgprocitemSubtype; typedef enum { PRO_MFGPROCTABLE_PROCESS, PRO_MFGPROCTABLE_WORKCELLS } ProMfgproctableType; typedef enum { PRO_MFGPROP_EXTRACT_STATUS, PRO_MFGPROP_ACTUAL_MACHINING_TIME, PRO_MFGPROP_ACTUAL_MACHINING_LENGTH, PRO_MFGPROP_TEMPLATE_NAME, PRO_MFGPROP_GROUP_LEVEL_1, PRO_MFGPROP_GROUP_LEVEL_2 } ProMfgprocitemPropertyType; typedef enum { PRO_MFGSTEP_HOLESETEND_NOT_USED = PRO_VALUE_UNUSED, /* The holeset is not of type PRO_DRILL_BLIND */ PRO_MFGSTEP_HOLESETEND_REFERENCE, PRO_MFGSTEP_HOLESETEND_ALONG_AXIS } ProMfgstepHolesetEndType; typedef enum { PRO_MFGPROCREORDER_CHECK_PARENT_CHILD = 0, PRO_MFGPROCREORDER_CHECK_PREREQUISITES = 1 << 0, PRO_MFGPROCREORDER_CHECK_PRIORITIES = 1 << 1 } ProMfgprocReorderCheckOptions; #define PRO_MFG_EXTRACTION_POST 84 typedef ProError (*ProMfgprocitemFilterAction) ( ProMfgprocItem* item, ProAppData app_data ); /* Purpose: Filter action for the steps, operations and workcells in the manufacturing process table. Input Arguments: item - The manufacturing process table step, operation or workcell. app_data - Application data passed to the function. Output Arguments: none Return Values: PRO_TK_CONTINUE - Skip visiting this item. Any other value - Visit this item, passing the error status to the visit action. */ typedef ProError (*ProMfgprocitemVisitAction) ( ProMfgprocItem* item, ProError error, ProAppData app_data ); /* Purpose: Visit action for the steps, operations and workcells in the manufacturing process table. Input Arguments: item - The manufacturing process table step, operation or workcell. error - Error return passed from the filter action. app_data - Application data passed to the function. Output Arguments: none Return Values: PRO_TK_NO_ERROR - Continue visiting. Any other value - Stop visiting and return this error status from the visit function. */ extern ProError ProMfgProctableVisit ( ProMfg mfg, ProMfgproctableType table_type, ProMfgprocitemVisitAction action, ProMfgprocitemFilterAction filter, ProAppData app_data ); /* Purpose: Visits the steps, operations and workcells in the manufacturing process table. <P> Note: The steps and operations will be visited in the order that they are listed in the table. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. table_type - The type of table to visit. action - The visit action. filter - The filter action. Can be NULL. app_data - Application data passed to the action functions. Can be NULL. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). PRO_TK_E_NOT_FOUND - No steps were found in the manufacturing process table. Any other value - The error condition returned by the visit action, which caused the function to stop visiting. */ extern ProError ProMfgprocitemFeatureGet ( ProMfgprocItem* item, ProFeature* feature); /* Purpose: Obtains the manufacturing feature referenced by this process item. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing process item. Output Arguments: feature - The mfg feature. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - There is no feature associated to this item. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemAnnotationGet ( ProMfgprocItem* item, ProAnnotationElem* annotation ); /* Purpose: Obtains the annotation element that created this process item. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing process item. Output Arguments: annotation - The annotation element. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - There is no annotation element associated to this item. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemCreate ( ProMfg model, ProMfgproctableType table_type, ProElement elem_tree, ProMfgprocItem* predecessor, ProMfgprocItem* item, ProErrorlist* errors ); /* Purpose: Creates a new item in the manufacturing process table. Licensing Requirement: UNRECOGNIZED Input Arguments: model - The manfacturing model. table_type - The type of table to create new item. elem_tree - The element tree for the new manfacturing item. predecessor - Step or operation that should be immediately before the new item in the table. To place an item at the top of the table, pass NULL. To create a workcell, pass NULL. Output Arguments: item - The created manufacturing item. errors - Errors encountered during the item creation. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_GENERAL_ERROR - The item creation failed. See the errors output for details of the possible problems. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemFromTemplateCreate ( ProMfg mfg, ProMfgproctableType table_type, ProPath template_file, ProMfgprocItem* predecessor, ProMfgprocItem** new_items ); /* Purpose: Creates a new manufacturing process step or workcell from a template file. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. table_type - The type of table to create new item. template_file - Full path to the template file. predecessor - The step item occurring just before this item in the table. Pass NULL to place the step at the top of the table, or if creating a workcell. Output Arguments: new_items - ProArray of new items. Free this output using ProArrayFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - The manufacturing process table is not initialized. See ProMfgProctableEnable(). PRO_TK_E_NOT_FOUND - The template file could not be found. PRO_TK_GENERAL_ERROR - The template file could not be parsed successfully. */ extern ProError ProMfgprocitemRedefine ( ProMfgprocItem* item, ProElement elem_tree, ProErrorlist* errors ); /* Purpose: Redefines an existing manufacturing item using an element tree. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing item. elem_tree - The element tree. Output Arguments: errors - Errors that prevented the redefinition from succeeding. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_FOUND - Cannot redefine the item because the item has an associated feature. Redefine the feature instead. PRO_TK_GENERAL_ERROR - Redefinition failed. Consult the errors output for more details on the failure. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemElemtreeGet ( ProMfgprocItem* item, ProElement* elem_tree ); /* Purpose: Obtains the element tree for the manufacturing item. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing item. Output Arguments: elem_tree - The element tree. Free this using ProMfgprocitemElemtreeFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_FOUND - The item is associated to a feature. Get the tree from the associated feature instead. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemElemtreeFree ( ProMfgprocItem* item, ProElement elem_tree ); /* Purpose: Frees the element tree extracted from a manufacturing item by ProMfgprocitemElemtreeGet(). Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing item. elem_tree - The element tree. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ extern ProError ProMfgprocitemSubtypeGet ( ProMfgprocItem* item, ProMfgprocitemSubtype* subtype ); /* Purpose: Obtains the subtype of a manufacturing process item. This could be a process step, operation, or workcell. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing process item. Output Arguments: subtype - The subtype of the item. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemDefaultfixturesetupstepGet ( ProMfgprocItem* operation, ProMfgprocItem* fixture_setup_step ); /* Purpose: Obtains the default fixture setup step automatically created for the operation. Licensing Requirement: UNRECOGNIZED Input Arguments: operation - The operation item. Output Arguments: fixture_setup_step - The fixture setup step. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemDelete (ProMfgprocItem* item ); /* Purpose: Deletes the step, operation or workcell from the table. If the table item is associated to a feature this will also delete the associated feature. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The step or operation. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ extern ProError ProMfgprocitemReorderlimitsGet ( ProMfgprocItem* target_items, ProMfgprocReorderCheckOptions options, ProMfgprocItem* first_predecessor, ProMfgprocItem* last_predecessor ); /* Purpose: Identifies the range of predecessor items in the manufacturing process table to which the input item may potentially be reordered. Optionally you can determine this range for only the parent/child relationships or for those relationships plus other limiting factors. <P> NOTE: This function does not reorder the steps. Use ProMfgprocitemReorder() to accomplish that task. Licensing Requirement: UNRECOGNIZED Input Arguments: target_items - ProArray of steps which are potentially to be reordered. options - Bitmask containing one or more types of checks to use in this determination. Output Arguments: first_predecessor - The first possible predecessor item for the reorder operation. last_predecessor - The last possible predecessor item for the reorder operation. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_MODIFY - The indicated set of items cannot be reordered to any other location in the process table. PRO_TK_CANT_ACCESS - The manufacturing process table has not been initialized, see ProMfgProctableEnable(). */ extern ProError ProMfgprocitemReorder ( ProMfgprocItem* items, ProMfgprocItem* item_before ); /* Purpose: Reorders steps within the process table. This could also result in moving a step into a different operation, depending on the position indicated. Licensing Requirement: UNRECOGNIZED Input Arguments: items - ProArray of steps to be reordered. item_before - The item which should be just before the first reordered item. To move the steps to the top of an operation, pass the operation. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - Cannot reorder the items to the indicated position. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemNextitemGet ( ProMfgprocItem* item, ProMfgprocItem* next_item ); /* Purpose: Obtains the next item following this item in the process manager table. Applicable only to items taken from the PRO_MFGPROCTABLE_PROCESS table. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The process manager item. Output Arguments: next_item - The next item. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - The item is the last item in the table. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemPreviousitemGet ( ProMfgprocItem* item, ProMfgprocItem* previous_item); /* Purpose: Obtains the item listed just before this item in the process manager table. Applicable only to items taken from the PRO_MFGPROCTABLE_PROCESS table. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The process manager item. Output Arguments: previous_item - The previous item. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - The item is the first item in the table. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgproctableFeaturesCreate (ProMfg mfg); /* Purpose: Creates features for all items currently in the process manager table. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgproctableFeaturesDelete (ProMfg mfg); /* Purpose: Deletes features associated to any items currently in the process manager table. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgProctableWrite ( ProMfg mfg, ProMfgproctableType table_type, ProLine view_name, ProPath output_file ); /* Purpose: Writes the CSV file containing the contents of the manufacturing process table. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. table_type - The type of table to output. view_name - The view name in the setup file; pass NULL to use the current view. output_file - The full path and name of the output file. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The process table is not initialized, see ProMfgProctableEnable(). PRO_TK_CANT_WRITE - Could not write the output file to the designated file name or path. */ extern ProError ProMfgProctableSynchronize (ProMfg mfg, ProPath input_file); /* Purpose: Synchronizes the manufacturing process table with the contents of the input CSV file. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. input_file - The full path and name of the input file. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The process table is not initialized, see ProMfgProctableEnable(). PRO_TK_INVALID_FILE - The input file does not have the correct format. PRO_TK_CANT_OPEN - Could not find or open the input file. */ extern ProError ProMfgprocitemHolesetdepthGet ( ProMfgprocItem* step, double* holeset_depth); /* Purpose: Obtains the holeset depth for the step. This function supports only steps which contain a single holeset of type "Blind" and an end reference type of "Along Axis". Licensing Requirement: UNRECOGNIZED Input Arguments: step - The manufacturing process step. Output Arguments: holeset_depth - The holeset depth. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The manufacturing process table is not initialized, see ProMfgProctableEnable() PRO_TK_INVALID_TYPE - This process item is does not contain holesets. PRO_TK_E_AMBIGUOUS - This process step contains multiple holesets. Use the element tree for the step to access this property instead of this function. PRO_TK_E_NOT_FOUND - The holeset depth is not specified as the type of holeset is not "Blind" and/or the end reference type is not "Along Axis".. PRO_TK_E_FOUND - This step is associated to a feature. Use the feature element tree to access this information. See Also: ProMfgprocitemHolesetdepthtypeGet() ProMfgprocitemHolesetdepthSet() */ extern ProError ProMfgprocitemHolesetdepthSet ( ProMfgprocItem* step, double holeset_depth); /* Purpose: Assigns the holeset depth for the step. This function supports steps with only a single holeset. The holeset type must be "Blind". The end reference type will be changed to be "Along Axis" after using this function. Licensing Requirement: UNRECOGNIZED Input Arguments: step - The manufacturing process step. holeset_depth - The holeset depth. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The manufacturing process table was not initialized, see ProMfgProctableEnable() PRO_TK_INVALID_TYPE - This type of item does not contain holesets. PRO_TK_E_AMBIGUOUS - The step contains multiple holesets, use the element tree for step to modify it instead of using this function. PRO_TK_CANT_MODIFY - The type of the holeset is not "Blind". PRO_TK_E_FOUND - This step is associated to a feature. Use the feature element tree to access this value. See Also: ProMfgprocitemHolesetdepthtypeGet() ProMfgprocitemHolesetdepthGet() */ extern ProError ProMfgprocitemHolesetdepthtypeGet ( ProMfgprocItem* step, ProDrillDepthType* depth_type, ProMfgstepHolesetEndType* end_type ); /* Purpose: Gets the type of holeset and holeset end reference contained in the manufacturing process step. Licensing Requirement: UNRECOGNIZED Input Arguments: step - The process step. Output Arguments: depth_type - The depth type. end_type - The end reference type, if the depth type is PRO_DRILL_BLIND. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The manufacturing process table is not initialized, see ProMfgProctableEnable(). PRO_TK_INVALID_TYPE - This item type does not contain holesets. PRO_TK_E_AMBIGUOUS - This step contains more than one holeset. Use the step element tree to extract this information instead of this function. PRO_TK_E_FOUND - This step is associated to a feature. Use the feature element tree to access these values. See Also: ProMfgprocitemHolesetdepthGet() ProMfgprocitemHolesetdepthSet() */ extern ProError ProMfgProctablemodelGet ( ProMfg mfg, ProModelitem* process_table_model ); /* Purpose: Obtains the process table model for the manufacturing model. This item can be used to set default item parameters and overall table relations. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. Output Arguments: process_table_model - The process table model. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemTemplateparamGet ( ProMfgprocItem* item, ProName param_name, ProParamvalue* value); /* Purpose: Obtains the parameter value for a template parameter for the item. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The process manager item. param_name - The template parameter name. Output Arguments: value - The parameter value for the template parameter. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - The template parameter does not exist. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemPropertyGet ( ProMfgprocItem* item, ProMfgprocitemPropertyType property_type, ProParamvalue* property); /* Purpose: Obtains the value of a special property for the manufacturing process manager step or operation. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing step or operation. property_type - The property type. Output Arguments: property - The property value. Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - This property is not set on the given item. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgprocitemPropertySet ( ProMfgprocItem* item, ProMfgprocitemPropertyType property_type, ProParamvalue* property); /* Purpose: Assigns the value of a special property for the manufacturing process manager step or operation. Licensing Requirement: UNRECOGNIZED Input Arguments: item - The manufacturing step or operation. property_type - The property type. property - The property value. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_CANT_MODIFY - This property is readonly. PRO_TK_CANT_ACCESS - Access to the manufacturing process table is not enabled, use ProMfgProctableEnable(). */ extern ProError ProMfgproctableDisplayUpdate ( void ); /* Purpose: Updates the display of the manufacturing process manager dialog, applying any changes which have been made via Creo Parametric TOOLKIT functions. Licensing Requirement: UNRECOGNIZED Input Arguments: none Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_CONTEXT - The manufacturing process manager dialog is not currently open. */ extern ProError ProMfgproctableSelecteditemsGet (ProMfgproctableType table_type, ProMfgprocItem** items); /* Purpose: Returns the currently selected items in the manufacturing process table UI. Licensing Requirement: UNRECOGNIZED Input Arguments: none Output Arguments: table_type - The type of table to get selected item. items - ProArray of selected items. Free this output using ProArrayFree(). Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - No selected items were found. PRO_TK_BAD_CONTEXT - The manufacturing process table UI is not currently open. */ extern ProError ProMfgproctableSelecteditemsSet (ProMfgproctableType table_type, ProMfgprocItem* items); /* Purpose: Sets the currently selected items in the process table. Licensing Requirement: UNRECOGNIZED Input Arguments: table_type - The type of table to set selected item. items - ProArray of items to select. Can be NULL to unselect all items. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_BAD_CONTEXT - The manufacturing process table UI is not currently active. */ extern ProError ProMfgproctableMenuAdd ( char* menu_name, wchar_t* menu_label, char* parent_menu_name ); /* Purpose: Add a new user-defined menu to the manufacturing Process Manager UI, or to a submenu in the UI. This should be called before the Process Manager dialog is shown. Licensing Requirement: UNRECOGNIZED Input Arguments: menu_name - The name of the menu. menu_label - The menu label. parent_menu_name - The name of the parent menu. Can be NULL to add the menu to the top-level menubar. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. */ typedef uiCmdAccessState (*ProMfgproctableItemAccessFunction) ( ProMfg mfg, char* button_name, ProAppData app_data ); /* Purpose: This is the signature for the access function callback for a button added by Creo Parametric TOOLKIT into the manufacturing process manager dialog. Input Arguments: mfg - Manufacturing model being edited. button_name - Name of the added item in the dialog. app_data - Application data set during registration of this item. Output Arguments: none Return Values: One of the values of uiCmdAccessState, showing which access is permitted. */ typedef ProError (*ProMfgproctableItemActionFunction) (ProMfg mfg, char* button_name, ProAppData appdata); /* Purpose: This is the action function called when a user invokes the button added to the manufacturing process manager dialog. Input Arguments: mfg - The manufacturing model being edited. button_name - The name of the item in the dialog. appdata - Application data that was set when the item was registered. Output Arguments: none Return Values: Any other value - Return values are not interpreted by Creo Parametric. */ extern ProError ProMfgproctablePushbuttonAdd ( char* menu_name, char* button_name, wchar_t* button_label, wchar_t* button_helptext, ProMfgproctableItemAccessFunction access_function, ProMfgproctableItemActionFunction action_function, ProAppData application_data); /* Purpose: Adds a new button to a menu in the manufacturing Process Manager dialog. The button is added to the end of the indicated menu. This should be called before the Process Manager dialog is shown. Licensing Requirement: UNRECOGNIZED Input Arguments: menu_name - The menu name. button_name - The button component name. button_label - The button label. button_helptext - The button help text. access_function - The access function for the button. action_function - The action function for the button. application_data - Application data to pass to the access and action functions. Can be NULL. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_E_NOT_FOUND - Could not find the parent menu. PRO_TK_E_FOUND - A button with this name already exists. */ extern ProError ProMfgProctableEnable (ProMfg mfg); /* Purpose: Ensures that the manufacturing process table has been initialized properly, to allow Creo Parametric TOOLKIT functions to read and modify its contents. <P> Note: this function needs to be called only if the process table will be modified when the Process Manager dialog is not opened; if the dialog is open the table is automatically ready for modification via Creo Parametric TOOLKIT. Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_NO_CHANGE - The process table was already enabled. */ extern ProError ProMfgProctableDisable (ProMfg mfg); /* Purpose: Completes any Creo Parametric TOOLKIT work on the manufacturing process table from the given model. Companion to ProMfgproctableEnable(). Licensing Requirement: UNRECOGNIZED Input Arguments: mfg - The manufacturing model. Output Arguments: none Return Values: PRO_TK_NO_ERROR - The function succeeded. PRO_TK_BAD_INPUTS - One or more input arguments was invalid. PRO_TK_NO_CHANGE - The process table was not enabled. */ typedef ProError (*ProMfgproctableExtractionPostAction) (ProPath path); /* Purpose: This is the required signature for a notification type that is called when an extraction event takes place in manufacturing. For details of whether extraction succeeded or failed, parse the extraction log file. Input Arguments: path - Path to the extraction log file. Output Arguments: none Return Values: Any other value - Return values are ignored by Creo Parametric. */ PRO_END_C_DECLS #endif