padv.TaskTool
Description
A padv.TaskTool
object represents a tool that you
can add to your task or process to help you organize and complete task activities in
Process Advisor. Starting in R2024a, your task tools are available from the
options menu for a task in Process Advisor.
You
add the task tool to your process model by using the addTaskTool
function and link the tool to a specific task or process by setting the
TaskTools
property of the task or process. In Process
Advisor, you access task tools by pointing to the task in the
Tasks column and opening the options menu
(...).
This functionality requires CI/CD Automation for Simulink Check.
Creation
Syntax
Description
padv.TaskTool(ToolFunction=
creates a task tool that represents a custom app that you can open from the task
options menu in Process Advisor. You design the app by using App
Designer or AppName
,Title=Title
,Type="TaskApp")
uifigure
.
padv.TaskTool(ToolFunction=
creates a task tool that represents a command that you can run from the task
options menu in Process Advisor.FunctionName
,Title=toolTitle
,Type="Command")
padv.TaskTool(___,Arguments=
passes arguments to the task
tool. For example,
Arguments
)
padv.TaskTool(ToolFunction="blankApp1",Title="My Custom
App",Type="TaskApp",Arguments="arg1")
passes the argument
arg1
to the task app.
Input Arguments
AppName
— Name of app to open
string
Name of app to open, specified as a string. Do not include the file extension.
The app must:
Be an app that you design using App Designer or
uifigure
. You can save the app as an App Designer app (.mlapp
), export the App Designer app as an M file, or define the app by using a MATLAB® class (.m
).Be on the MATLAB path.
Include a
TaskContext
property that you pass as a name-value argument in the constructor. Process Advisor uses the argument to identify the context of the task in your process.Do one of the following during initialization:
For example, the following MATLAB class defines a blank task app.
classdef blankApp1 < matlab.apps.AppBase properties (Access = public) UIFigure matlab.ui.Figure TaskContext end methods (Access = private) function createComponents(app) app.UIFigure = uifigure('Visible', 'on'); end end methods (Access = public) function app = blankApp1(NameValueArgs) arguments NameValueArgs.TaskContext end app.TaskContext = NameValueArgs.TaskContext; createComponents(app); if nargout == 0 clear app end end function delete(app) delete(app.UIFigure) end end end
Example: "blankApp1"
Data Types: string
FunctionName
— Name of function to evaluate
string
Name of function to evaluate, specified as a string. Do not include the file extension.
The function must accept a TaskContext
as a name-value
argument in its NameValueArgs
input. Process Advisor
uses this argument to identify the context of the task in your process. Inside the
function, specify the command that you want the task tool to
execute.
function out = myTaskCommand(NameValueArgs) arguments NameValueArgs.TaskContext end % define task command here end
padv.TaskTool
uses the feval
function to evaluate the function and
any input arguments that you specify in
padv.TaskTool
.
Example: "myTaskCommand"
Data Types: string
Title
— Tool name that appears in Process Advisor app
string
Tool name that appears in Process Advisor app, specified as a string.
Example: "My Custom App"
Data Types: string
Arguments
— Input arguments for tool
cell array
Input arguments for tool, specified as a cell array.
Example: {'arg1'}
Example: {"arg1", "arg2"}
Data Types: cell
Properties
ToolFunction
— Name of app to open or function to evaluate
string
Name of app to open or function to evaluate, specified as a string. Do not include the file extension.
The value that you specify depends on the type of task app that you create:
If the
Type
property is"TaskApp"
, specify the name of an app. The app must:Be an app that you design by using App Designer or
uifigure
.Be on the MATLAB path.
Include a
TaskContext
property that you pass as a name-value argument in the constructor. Process Advisor uses the argument to identify the context of the task in your process.Do one of the following during initialization:
For example, the following MATLAB class defines a blank task app.
classdef blankApp1 < matlab.apps.AppBase properties (Access = public) UIFigure matlab.ui.Figure TaskContext end methods (Access = private) function createComponents(app) app.UIFigure = uifigure('Visible', 'on'); end end methods (Access = public) function app = blankApp1(NameValueArgs) arguments NameValueArgs.TaskContext end app.TaskContext = NameValueArgs.TaskContext; createComponents(app); if nargout == 0 clear app end end function delete(app) delete(app.UIFigure) end end end
If the
Type
property is"Command"
, specify the name of a function to evaluate. The function must accept aTaskContext
as a name-value argument in itsNameValueArgs
input. Process Advisor uses this argument to identify the context of the task in your process.Inside the function, specify the command that you want the task tool to execute.
function out = myTaskCommand(NameValueArgs) arguments NameValueArgs.TaskContext end % define task command here end
padv.TaskTool
uses thefeval
function to evaluate the function and any input arguments that you specify inpadv.TaskTool
.
Example: "blankApp1"
Example: "fun"
Data Types: string
Title
— Tool name that appears in Process Advisor app
string
Tool name that appears in Process Advisor app, specified as a string.
Example: "My Custom App"
Data Types: string
Type
— Type of tool
padv.TaskToolType.TaskApp
| padv.TaskToolType.Command
Type of tool, specified as either:
padv.TaskToolType.TaskApp
— Represents a custom app that you can open from the task options menu in Process Advisor. You can design the app by using App Designer oruifigure
. Use this type to represent interactive apps that you create for your tasks.padv.TaskToolType.Command
— Represents a command that you can run from the task options menu in Process Advisor. Use this type to represent programmatic commands that you execute.
These values belong to the enumeration class
padv.TaskToolType
.
Example: padv.TaskToolType.TaskApp
Arguments
— Input arguments for tool
cell array
Input arguments for tool, specified as a cell array.
Example: {'arg1'}
Example: {"arg1", "arg2"}
Data Types: cell
Examples
Integrate Custom App into Process Advisor
Starting in R2024a, you can integrate custom apps into your process
model by using the addTaskTool
function. You create the custom app by using App
Designer or uifigure
and represent the app by using a
padv.TaskTool
object. For this example, you add a custom app as a tool
for a task and view the tool in the options menu for the task in Process
Advisor.
Open the Process Advisor example project. The model AHRS_Voter
opens with the Process Advisor pane to the left of the Simulink® canvas.
processAdvisorExampleStart
Create a custom app for a task in the process.
You can use App Designer to create a custom app that helps you complete activities for a task in your process. In the MATLAB Command Window, open App Designer by entering:
appdesigner
To use your App Designer app as a task tool, you must include a
TaskContext
property that you pass as a name-value argument in
the constructor and your app must return a matlab.ui.Figure
object
during initialization. You can save your app as an App Designer app
(.mlapp
), export your App Designer app as an M file,
or define your app by using a MATLAB class (.m
). For example, the following MATLAB class defines a blank App Designer app that can be a task
tool.
classdef blankApp1 < matlab.apps.AppBase properties (Access = public) UIFigure matlab.ui.Figure TaskContext end methods (Access = private) function createComponents(app) app.UIFigure = uifigure('Visible', 'on'); end end methods (Access = public) function app = blankApp1(NameValueArgs) arguments NameValueArgs.TaskContext end app.TaskContext = NameValueArgs.TaskContext; createComponents(app); if nargout == 0 clear app end end function delete(app) delete(app.UIFigure) end end end
In the Process Advisor pane, click the Edit process model button to open the processmodel.m
file for the project.
Replace the contents of the processmodel.m
file with the following example
code. the code defines:
myTask
— A custom task.myTaskTool
— A custom tool for a task. The tool calls the function specified by theToolFunction
argument. In the Process Advisor context menu for a task, the tool has the titleMy Custom App
. Since the tool function,blankApp1
, is a.mlapp
file for an App Designer app, theType
is set toTaskApp
.
Inside the process model, the code adds the task and tool to the process model and specifies the tool as one of the task tools for the task.
function processmodel(pm) % Define process model for project arguments pm padv.ProcessModel end % --- Task --- myTask = padv.Task("MyCustomTask"); % --- TaskTool --- myTaskTool = padv.TaskTool(ToolFunction="blankApp1",Title="My Custom App",... Type=padv.TaskToolType.TaskApp); % --- Integrate --- pm.addTask(myTask); pm.addTaskTool(myTaskTool); myTask.TaskTools = myTaskTool; end
In Process Advisor, update the task information by clicking Refresh Tasks.
In the Tasks column, point to MyCustomTask, open the options menu (...), and click My Custom App.
The App Designer app opens inside Process Advisor. You can use your app to help organize and complete activities related to your tasks.
Integrate Custom Commands into Process Advisor
Starting in R2024a, you can integrate custom commands into your
process model by using the addTaskTool
function. You represent the custom commands by using padv.TaskTool
objects. For this example, you add two custom commands as tools for a task and view the
tools in the options menu for the task in Process Advisor.
Open the Process Advisor example project. The model AHRS_Voter
opens with the Process Advisor pane to the left of the Simulink canvas.
processAdvisorExampleStart
Define your custom command by creating a new MATLAB function file. The function must accept a TaskContext
as a name-value argument and must be on the MATLAB path.
For this example, you can create a file named myCustomCommand.m
and define a custom function that accepts and displays an input argument.
function out = taskCmd1(inputArg, NamedValueArgs) arguments inputArg NamedValueArgs.TaskContext end disp(inputArg); end
In the Process Advisor pane, click the Edit process model button to open the processmodel.m
file for the project.
Replace the contents of the processmodel.m
file with the following example code. the code defines:
myTask
— A custom task.myTaskTool
— A custom tool for a task. The tool calls the function specified by theToolFunction
argument. In the Process Advisor context menu for a task, the tool has the titleMy Command 1
. Since the tool function,taskCmd1
, is a.m
file for a function that defines a command for the task tool to execute, theType
is set toCommand
. The function accepts an input argumentcmd1Arg
.
Inside the process model, the code adds the task and tool to the process model and specifies the tool as one of the task tools for the task.
function processmodel(pm) % Define process model for project arguments pm padv.ProcessModel end % --- Task --- myTask = padv.Task("MyTask"); pm.addTask(myTask); % --- TaskTool --- cmd1Arg = "myInputArg"; myTaskTool = padv.TaskTool(ToolFunction="taskCmd1",... Title="My Command 1",... Type=padv.TaskToolType.Command,... Arguments={cmd1Arg}); % --- Integrate --- pm.addTaskTool(myTaskTool); myTask.TaskTools = myTaskTool; end
In Process Advisor, update the task information by clicking Refresh Tasks.
In the Tasks column, point to MyTask, open the options menu (...), and click My Command 1.
Process Advisor executes the command specified in the taskCmd1
function. The function displays the input argument, "myInputArg"
, in the MATLAB Command Window.
Version History
Introduced in R2024a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)