/// <summary> /// Показать AccessDescriptorEditor /// </summary> /// <param name="ad">Ссылка на AccessDescriptor</param> /// <param name="selectedItemPanelName">Имя выбранной панели</param> public DescriptorCommonEditor(DescriptorBase ad, string selectedItemPanelName) { InitializeComponent(); FillPanelsList(); _assignedAccessDescriptor = ad; _accessDescriptorName.Text = _assignedAccessDescriptor.GetName(); _usePanelPowerFormula.IsChecked = _assignedAccessDescriptor.GetUsePanelPowerFormulaFlag(); _powerFormula.Text = _assignedAccessDescriptor.GetPowerFormula(); // Если в AccessDescriptor не указана панель - берём текущую, выделенную в дереве и устанавливаем её // в качестве панели AccessDescriptor (для ускорения заполнения полей) var selectedPanel = Profile.PanelStorage.GetPanelById(_assignedAccessDescriptor.GetAssignedPanelId()); if (selectedPanel != null) { _assignedPanel.Text = selectedPanel.Name; } else { if (selectedItemPanelName != null) { _assignedPanel.Text = selectedItemPanelName; } } Localize(); }
public bool IsDataChanged() { var panel = Profile.PanelStorage.GetPanelById(_assignedAccessDescriptor.GetAssignedPanelId()); var panelName = panel != null ? panel.Name : null; return(!Utils.AreStringsEqual(_accessDescriptorName.Text, _assignedAccessDescriptor.GetName()) || !Utils.AreStringsEqual(_assignedPanel.Text, panelName) || _usePanelPowerFormula.IsChecked != _assignedAccessDescriptor.GetUsePanelPowerFormulaFlag() || !Utils.AreStringsEqual(_powerFormula.Text, _assignedAccessDescriptor.GetPowerFormula())); }