Application: ProgressNotifier
Revit Platform: All
Revit Version: 2013.0
First Released For: 2013.0
Programming Language: C#
Skill Level: Medium
Category: Basics
Type: ExternalCommand

Subject: Show progress information for an action in a stack data structure for easier analysis.
Summary: 
This sample demonstrates how to subscribe ProgressNotify related events, access properties in argument of event handlers, and organize the subtransaction progress information into a stack.

Classes: 
Autodesk.Revit.UI.IExternalCommand 
Autodesk.Revit.DB.Events.ProgressChangedEventArgs

Project Files: 
Application.cs
This file contains a class Command which implements IExternaCommand interface. 

ProgressItem.cs
An object containing a progress event name, position, and status.

ProgressStack.cs
A collection of ProgressItem objects arranged in a stack

MainWindow.xaml
	Layout for the command dialog

MainWindow.xaml.cs
	Dialog class to provide a UI to open a document and display a ProgressStack.

Description: 
The sample implements IExternalCommand interface and subscribes ProgressChanged when a dialog is launched by the command. 

Instructions: 
1.	Copy the provided .addin file under sample folder to install folder of your Revit and specify full paths for the dll. 
2.	Start Revit. Notice that the ProgressNotify events will be registered once the command starts.  Select the “Open Document” button, and select a file.  Note the progress information displayed in the window.