addTaskTool
Add tool to help organize and complete task activities
Syntax
Description
Examples
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.
processAdvisorExampleStart
Open the standalone Process Advisor window.
processAdvisorWindow
Open the Additional Examples process by selecting Additional Examples from the Process gallery in the toolstrip. The Additional Examples process contains example tasks that use a custom task app created in App Designer.

In the Tasks column, expand the task Example Automated
                Task and open the task app for the AHRS_Voter model by
            pointing to AHRS_Voter, opening the task options menu
                (...), and clicking Example Task
            App.

The App Designer app opens inside Process Advisor. The Example
            Task App dialog box shows the relative path to the model and several buttons for
            interacting with the app. The dialog box was designed in App Designer and
            provides a UI for opening a model and accessing other options using App
                Designer UI components. For example, you can open the current task iteration
            artifact, AHRS_Voter, by clicking Open in the
            Example Task App dialog box.

In Process Advisor, close the Example Task App dialog box by clicking Close.
In the project root, find the example app, TaskAppDemo.mlapp, and
            the example function, exampleProcess.m.
The exampleProcess function defines a
                padv.TaskTool object for the task app and adds the
                padv.TaskTool object, appOpenModel, to the
            example task and process model. Since the tool function is an App Designer
            app, the Type is set to
                padv.TaskToolType.TaskApp. The ToolFunction
            argument specifies the App Designer file name,
            TaskAppDemo, that defines the example task app
            UI.
% Example Task App appOpenModel = padv.TaskTool( ... Title = "Example Task App", ... Type = padv.TaskToolType.TaskApp, ... ToolFunction = "TaskAppDemo"); pm.addTaskTool(appOpenModel); ... taskExampleTaskApps.TaskTools = appOpenModel;
Open and inspect the exampleProcess.m file to view the full code.
            The processmodel.m file calls the exampleProcess
            function on the process model object, pm, to add the example process
            to the process model for the project.
Open the example task app in App Designer by double-clicking the
                TaskAppDemo.mlapp file in the root of the example project. You
            can use App Designer to interactively develop the example task app. For more
            information, see App Designer.

In App Designer, drag and drop a Table UI component onto the canvas. Resize the table and app layout as needed.

View the app code by clicking the Code View button above the
            canvas. This example app uses a startup function, startupFcn, to find
            the task context object, extract the task iteration artifact, and display the model file
            path in the app. When you open a task app, Process Advisor passes a padv.TaskContext object to the task
            app.
function startupFcn(app, varargin) % Find the TaskContext object in varargin taskContextIndex = find(cellfun(@(x) isa(x, 'padv.TaskContext'), varargin), 1); if ~isempty(taskContextIndex) app.TaskContext = varargin{taskContextIndex}; % Get the IterationArtifact iterationArtifact = app.TaskContext.getIterationArtifact(); % Get the file path from the name field filePath = iterationArtifact.name; app.ModelFilePath.Value = filePath; end end
In the conditional block within startupFcn, add code that retrieves
            and displays the commit history for the current task iteration artifact in the table
            component of the app, app.UITable. The following code shows the
            updated startupFcn
            function.
function startupFcn(app, varargin) % Find the TaskContext object in varargin taskContextIndex = find(cellfun(@(x) isa(x, 'padv.TaskContext'), varargin), 1); if ~isempty(taskContextIndex) app.TaskContext = varargin{taskContextIndex}; % Get the IterationArtifact iterationArtifact = app.TaskContext.getIterationArtifact(); % Get the file path from the name field filePath = iterationArtifact.name; app.ModelFilePath.Value = filePath; % Display commit history for iteration artifact repo = gitrepo; commitHistory = log(repo.CurrentBranch,File=filePath); app.UITable.Data = commitHistory; columnNames = commitHistory.Properties.VariableNames; app.UITable.ColumnName = columnNames; end end
In Process Advisor, update the task information by clicking
                Refresh Tasks and open the task app for
                AHRS_Voter. The Example Task App dialog box shows a table with
            the commit message, branches, and authoring information for the
                AHRS_Voter model.

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 taskCmd1.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 theToolFunctionargument. In the Process Advisor context menu for a task, the tool has the titleMy Command 1. Since the tool function,taskCmd1, is a.mfile for a function that defines a command for the task tool to execute, theTypeis 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.

Input Arguments
Process model for project, specified as a padv.ProcessModel
            object.
Example: pm = padv.ProcessModel
Tool to help complete a task, specified as a padv.TaskTool object
            or an array of padv.TaskTool objects.
Example: padv.TaskTool(ToolFunction="app1_exported",Title="My
              App",Type=padv.TaskToolType.TaskApp)
Example: [padv.TaskTool(ToolFunction="app1_exported",Title="My App
              1",Type=padv.TaskToolType.TaskApp),padv.TaskTool(ToolFunction="app2_exported",Title="My
              App 2",Type=padv.TaskToolType.TaskApp)] 
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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
 - Canada (English)
 - United States (English)
 
Europa
- 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)
 
