public override void Start() { base.Start(); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnPatient, w => w.PatientInfo) { WidthFactor = .7f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStudy, w => w.StudyInfo) { WidthFactor = .9f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnActivityDescription, w => w.ActivityDescription) { WidthFactor = .7f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStatus, w => w.Status.GetDescription()) { WidthFactor = .3f, TooltipTextProvider = w => string.IsNullOrEmpty(w.ProgressStatusDescription) ? string.Empty : w.ProgressStatusDescription, Comparison = WorkItem.StatusComparison }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnStatusDescription, w => w.ProgressStatus) { WidthFactor = 1.5f }); var requestedTimeColumn = new DateTimeTableColumn <WorkItem>(SR.ColumnRequestedTime, w => w.RequestedTime) { WidthFactor = .5f }; _workItems.Columns.Add(requestedTimeColumn); _workItems.Columns.Add(new DateTimeTableColumn <WorkItem>(SR.ColumnScheduledTime, w => w.ScheduledTime) { WidthFactor = .5f }); _workItems.Columns.Add(new TableColumn <WorkItem, string>(SR.ColumnPriority, w => w.Priority.GetDescription()) { WidthFactor = .25f, Comparison = WorkItem.PriorityComparison }); _workItems.Columns.Add(new TableColumn <WorkItem, IconSet>(SR.ColumnProgress, w => w.ProgressIcon) { WidthFactor = .4f, Comparison = WorkItem.ProgressComparison }); // establish initial sort order _workItems.Sort(new TableSortParams(requestedTimeColumn, false)); this.ActivityMonitor = WorkItemActivityMonitor.Create(true); _connectionState = _connectionState.Update(); this.ActivityMonitor.IsConnectedChanged += ActivityMonitorIsConnectedChanged; _localServerWatcher.DicomServerConfigurationChanged += OnDicomServerConfigurationChanged; _localServerWatcher.StudyStorageConfigurationChanged += OnStorageConfigurationChanged; _localServerWatcher.DiskSpaceUsageChanged += OnDiskspaceChanged; }