private void FillData() { PressureLossReportHelper helper = PressureLossReportHelper.instance; if (helper == null) { return; } if (helper.Domain == ReportResource.ductDomain) { filterCategories.Add(Autodesk.Revit.DB.BuiltInCategory.OST_DuctSystem); this.Text = ReportResource.ductSystemSelectorDlgTitle; } else if (helper.Domain == ReportResource.pipeDomain) { filterCategories.Add(Autodesk.Revit.DB.BuiltInCategory.OST_PipingSystem); this.Text = ReportResource.pipeSystemSelectorDlgTitle; } //default add all valid system type to checked system type foreach (Autodesk.Revit.DB.BuiltInCategory categoryId in filterCategories) { ICollection <Autodesk.Revit.DB.Element> founds = helper.getCategoryTypeElements(categoryId); foreach (Autodesk.Revit.DB.MEPSystemType sysType in founds) { if (helper.isValidSystemType(sysType)) { allValidSystemType.Add(sysType); } } } checkedSystemType = helper.getSelectedSystemTypes(); if (checkedSystemType == null || checkedSystemType.Count < 1) { if (checkedSystemType == null) { checkedSystemType = new List <MEPSystemType>(); } foreach (Autodesk.Revit.DB.MEPSystemType sysType in allValidSystemType) { checkedSystemType.Add(sysType); } } //sort the system types SortSystemTypeByNameCamparer systemTypeCompare = new SortSystemTypeByNameCamparer(); checkedSystemType.Sort(systemTypeCompare); allValidSystemType.Sort(systemTypeCompare); foreach (Autodesk.Revit.DB.BuiltInCategory categoryId in filterCategories) { ICollection <Autodesk.Revit.DB.Element> founds = helper.getCategoryElements(categoryId); addItemsToCheckList(helper, founds); } }