This function builds a data-processing workflow consisting of multiple steps. See Creating Workflows for more information.
            Note: When users finish or close a workflow dialog, the actual workflow object and all the workflow step objects it contains will be destroyed.
            Example
            
            e = ENVI()
             
            
            workflow = ENVIWorkflow()
             
            
            step1 = ENVIWorkflowStep()
            step1.TASK = ENVITask('QUAC')
             
            
            step2 = ENVIWorkflowStep()
            step2.TASK = ENVITask('IsodataClassification')
             
            
            step3 = ENVIWorkflowStep()
            step3.TASK = ENVITask('ClassificationSmoothing')
             
            
            step4 = ENVIWorkflowStep()
            step4.TASK = ENVITask('ExportRasterToTIFF')
             
            
            workflow.Connect, step1, 'output_raster', step2, 'input_raster'
            workflow.Connect, step2, 'output_raster', step3, 'input_raster'
            workflow.Connect, step3, 'output_raster', step4, 'input_raster'
             
            
            envi.UI.CreateWorkflowDialog, workflow
            Syntax
            Result = ENVIWorkflow([Properties=value], ERROR=value)
            Return Value
            This routine returns a reference to an ENVIWorkflow object.
            Methods
            Add             
            Connect             
            Disconnect
            
            GenerateMetatask
            
             GetStep
            
            IsFirstStep
            
            IsLastStep
            
            Arguments
            None
            Properties
            ACCENT_COLOR (Get, Set)
            Set this property to a string or RGB vector that specifies the color of the timeline text and other graphical elements in the workflow dialog. If this property is not set, then it will use a default color. (See the COLOR property of ENVIROI for a list of valid colors.)
            CALLBACK_DESTROY (Get, Set)
            Set this property to the name of a callback routine that will be invoked when the workflow is destroyed, either because the workflow ends or the user cancels the workflow.
            CALLBACK_REALIZE (Get, Set)
            Set this property to the name of a callback routine that will be invoked when the workflow has been realized for the first time.
            CURRENT_STEP (Get, Set)
            The ENVIWorkflowStep object associated with the current step.
            DATA_CONTAINER (Get)
            An ENVIDataContainer object that allows you to keep track of the state of data objects or any variables in the workflow. You can add, remove, or access any items in this data container from any callbacks you define.
            DESCRIPTION (Get, Set)
            Specify a string with a description of the workflow. See Customize the Visual Appearance of Workflow Dialogs to learn more.
            N_STEPS (Get)
            The total number of steps in the workflow.
            NEXT_STEP (Get)
            The ENVIWorkflowStep object associated with the next step in the workflow.
            PREVIOUS_STEP (Get)
            The ENVIWorkflowStep object associated with the previous step in the workflow.
            SHOW_TIMELINE (Get, Set)
            Set this property to 1 to display an interactive timeline of steps in the workflow dialog. The default is 1. Set it to 0 to hide the timeline. See Customize the Visual Appearance of Workflow Dialogs to learn more.
            STEPS (Get)
            All of the steps in a workflow.
            TITLE (Get, Set)
            Specify a string with text to display in the title bar of the workflow dialog. The default value is ENVI Workflow.
            Keywords
            ERROR
            Set this keyword to a named variable that will contain any error message issued during execution of this routine. If no error occurs, the ERROR variable will be set to a null string (''). If an error occurs and the routine is a function, then the function result will be undefined.
            When this keyword is not set and an error occurs, ENVI returns to the caller and execution halts. In this case, the error message is contained within !ERROR_STATE and can be caught using IDL's CATCH routine. See IDL Help for more information on !ERROR_STATE and CATCH.
            See Manage Errors for more information on error handling in ENVI programming.
            Version History
            
            See Also
            ENVIWorkflowStep, ENVIDataContainer