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);
        }
Esempio n. 2
0
		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;
		}