private List <PresetVoiLut> GetApplicablePresets() { List <PresetVoiLut> presets = new List <PresetVoiLut>(); if (this.SelectedPresentationImage is IImageSopProvider) { //Only temporary until we enable the full functionality in the presets. PresetVoiLut autoPreset = new PresetVoiLut(new AutoPresetVoiLutOperationComponent()); autoPreset.KeyStroke = XKeys.F2; presets.Add(autoPreset); ImageSop sop = ((IImageSopProvider)this.SelectedPresentationImage).ImageSop; PresetVoiLutGroupCollection groups = PresetVoiLutSettings.DefaultInstance.GetPresetGroups(); PresetVoiLutGroup group = CollectionUtils.SelectFirst(groups, delegate(PresetVoiLutGroup testGroup) { return(testGroup.AppliesTo(sop)); }); if (group != null) { foreach (PresetVoiLut preset in group.Clone().Presets) { if (preset.Operation.AppliesTo(this.SelectedPresentationImage)) { presets.Add(preset); } } } presets.Sort(new PresetVoiLutComparer()); } return(presets); }
private PresetVoiLutGroup DeserializeGroup(XmlElement groupNode) { PresetVoiLutGroup group = new PresetVoiLutGroup(groupNode.GetAttribute("modality")); XmlNodeList presetNodes = groupNode.SelectNodes("presets/preset"); DeserializeGroupPresets(group.Presets, presetNodes); if (group.Presets.Count == 0) group = null; return group; }