public override void Start() { InitializeAddFactories(); _selectedAddFactory = new PresetFactoryDescriptor(PresetVoiLutOperationFactories.GetFactory(LinearPresetVoiLutOperationFactory.FactoryName)); _voiLutPresets = new Table <PresetVoiLut>(); _availableModalities = new List <string>(StandardModalities.Modalities); _availableModalities.Sort(); _presetVoiLutGroups = PresetVoiLutSettings.DefaultInstance.GetPresetGroups().Clone(); foreach (string modality in _availableModalities) { if (!_presetVoiLutGroups.Contains(new PresetVoiLutGroup(modality))) { _presetVoiLutGroups.Add(new PresetVoiLutGroup(modality)); } } _presetVoiLutGroups.Sort(); _selectedPresetVoiLutGroup = _presetVoiLutGroups[0]; InitializeMenuAndToolbar(); InitializeTable(); PopulateTable(); Selection = null; base.Start(); }
private void DeserializeGroupPresets(PresetVoiLutCollection presets, XmlNodeList presetNodes) { foreach (XmlElement presetNode in presetNodes) { string keyStrokeAttribute = presetNode.GetAttribute("keystroke"); XKeys keyStroke = XKeys.None; if (!String.IsNullOrEmpty(keyStrokeAttribute)) { keyStroke = (XKeys)_xkeysConverter.ConvertFromInvariantString(keyStrokeAttribute); } string factoryName = presetNode.GetAttribute("factory"); IPresetVoiLutOperationFactory factory = PresetVoiLutOperationFactories.GetFactory(factoryName); if (factory == null) { continue; } PresetVoiLutConfiguration configuration = PresetVoiLutConfiguration.FromFactory(factory); XmlNodeList configurationItems = presetNode.SelectNodes("configuration/item"); foreach (XmlElement configurationItem in configurationItems) { configuration[configurationItem.GetAttribute("key")] = configurationItem.GetAttribute("value"); } try { IPresetVoiLutOperation operation = factory.Create(configuration); PresetVoiLut preset = new PresetVoiLut(operation); preset.KeyStroke = keyStroke; presets.Add(preset); } catch (Exception e) { Platform.Log(LogLevel.Error, e); continue; } } }