/// <summary> /// Constructor /// </summary> public StorageConfigurationComponentControl(StorageConfigurationComponent component) : base(component) { InitializeComponent(); _component = component; //This guy's not actually visible. It's just a placeholder for the validation icon. _studyDeletionValidationPlaceholder.Text = String.Empty; _fileStoreDirectory.DataBindings.Add("Text", _component, "FileStoreDirectory", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreDirectory.DataBindings.Add("Enabled", _component, "CanChangeFileStore", true, DataSourceUpdateMode.OnPropertyChanged); _changeFileStore.DataBindings.Add("Enabled", _component, "CanChangeFileStore", true, DataSourceUpdateMode.OnPropertyChanged); _infoMessage.DataBindings.Add("Text", _component, "InfoMessage", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.DataBindings.Add("Text", _component, "LocalServiceControlLinkText", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.DataBindings.Add("Visible", _component, "IsLocalServiceControlLinkVisible", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.LinkClicked += (s,e) => _component.LocalServiceControlLinkClicked(); _fileStoreWarningIcon.DataBindings.Add("Visible", _component, "HasFileStoreChanged", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreWarningMessage.DataBindings.Add("Visible", _component, "HasFileStoreChanged", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreWarningMessage.DataBindings.Add("Text", _component, "FileStoreChangedMessage", true, DataSourceUpdateMode.OnPropertyChanged); _totalDiskSpaceDisplay.DataBindings.Add("Text", _component, "TotalSpaceBytesDisplay", true, DataSourceUpdateMode.OnPropertyChanged); var maxDiskUsageBinding = new Binding("Value", _component, "MaximumUsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); maxDiskUsageBinding.Parse += ParseDiskUsageBinding; maxDiskUsageBinding.Format += FormatDiskUsageBinding; _maxDiskSpaceDisplay.DataBindings.Add("Text", _component, "MaximumUsedSpaceDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _upDownMaxDiskSpace.DataBindings.Add("Value", _component, "MaximumUsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); _maxDiskSpace.DataBindings.Add(maxDiskUsageBinding); var usedSpaceMeterFillStateBinding = new Binding("FillState", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); usedSpaceMeterFillStateBinding.Parse += ParseMeterFillState; usedSpaceMeterFillStateBinding.Format += FormatMeterFillState; _usedSpaceMeter.DataBindings.Add(usedSpaceMeterFillStateBinding); _usedSpaceMeter.DataBindings.Add("Value", _component, "UsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); _usedDiskSpace.DataBindings.Add("Text", _component, "UsedSpacePercentDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _usedDiskSpaceDisplay.DataBindings.Add("Text", _component, "UsedSpaceBytesDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningIcon.DataBindings.Add("Visible", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningMessage.DataBindings.Add("Visible", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningMessage.DataBindings.Add("Text", _component, "MaximumUsedSpaceExceededMessage", true, DataSourceUpdateMode.OnPropertyChanged); _studyDeletion.DataBindings.Add("Enabled", _component, "CanChangeDeletionRule", true, DataSourceUpdateMode.OnPropertyChanged); _deleteStudiesCheck.DataBindings.Add("Checked", _component, "DeleteStudies", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeValue.DataBindings.Add("Value", _component, "DeleteTimeValue", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeValue.DataBindings.Add("Enabled", _component, "DeleteStudies"); _deleteTimeUnits.Items.AddRange(_component.DeleteTimeUnits.Cast<object>().ToArray()); _deleteTimeUnits.DataBindings.Add("SelectedItem", _component, "DeleteTimeUnit", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeUnits.DataBindings.Add("Enabled", _component, "DeleteStudies"); _deleteTimeUnits.Format += (sender, e) => { e.Value = _component.FormatTimeUnit(e.ListItem); }; // bug #10076: combobox databinding doesn't apply change until it loses focus, so we do it manually _deleteTimeUnits.SelectedIndexChanged += (sender, args) => { _component.DeleteTimeUnit = (TimeUnit) _deleteTimeUnits.SelectedItem; }; _changeFileStore.Click += (s, e) => _component.ChangeFileStore(); _helpIcon.Click += (s,e) => _component.Help(); _component.ValidationVisibleChanged += (sender, args) => UpdateDeletionValidationMessage(); _component.PropertyChanged += OnComponentPropertyChanged; //Set initial values. OnComponentPropertyChanged(this, new PropertyChangedEventArgs("FileStoreDirectory")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("FileStoreChangedDescription")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("MaximumUsedSpaceExceededDescription")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("HelpMessage")); }
public void SetComponent(IApplicationComponent component) { _component = (StorageConfigurationComponent)component; }
public void SetComponent(IApplicationComponent component) { _component = (StorageConfigurationComponent)component; }
/// <summary> /// Constructor /// </summary> public StorageConfigurationComponentControl(StorageConfigurationComponent component) : base(component) { InitializeComponent(); _component = component; //This guy's not actually visible. It's just a placeholder for the validation icon. _studyDeletionValidationPlaceholder.Text = String.Empty; _fileStoreDirectory.DataBindings.Add("Text", _component, "FileStoreDirectory", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreDirectory.DataBindings.Add("Enabled", _component, "CanChangeFileStore", true, DataSourceUpdateMode.OnPropertyChanged); _changeFileStore.DataBindings.Add("Enabled", _component, "CanChangeFileStore", true, DataSourceUpdateMode.OnPropertyChanged); _infoMessage.DataBindings.Add("Text", _component, "InfoMessage", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.DataBindings.Add("Text", _component, "LocalServiceControlLinkText", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.DataBindings.Add("Visible", _component, "IsLocalServiceControlLinkVisible", true, DataSourceUpdateMode.OnPropertyChanged); _localServiceControlLink.LinkClicked += (s, e) => _component.LocalServiceControlLinkClicked(); _fileStoreWarningIcon.DataBindings.Add("Visible", _component, "HasFileStoreChanged", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreWarningMessage.DataBindings.Add("Visible", _component, "HasFileStoreChanged", true, DataSourceUpdateMode.OnPropertyChanged); _fileStoreWarningMessage.DataBindings.Add("Text", _component, "FileStoreChangedMessage", true, DataSourceUpdateMode.OnPropertyChanged); _totalDiskSpaceDisplay.DataBindings.Add("Text", _component, "TotalSpaceBytesDisplay", true, DataSourceUpdateMode.OnPropertyChanged); var maxDiskUsageBinding = new Binding("Value", _component, "MaximumUsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); maxDiskUsageBinding.Parse += ParseDiskUsageBinding; maxDiskUsageBinding.Format += FormatDiskUsageBinding; _maxDiskSpaceDisplay.DataBindings.Add("Text", _component, "MaximumUsedSpaceDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _upDownMaxDiskSpace.DataBindings.Add("Value", _component, "MaximumUsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); _maxDiskSpace.DataBindings.Add(maxDiskUsageBinding); var usedSpaceMeterFillStateBinding = new Binding("FillState", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); usedSpaceMeterFillStateBinding.Parse += ParseMeterFillState; usedSpaceMeterFillStateBinding.Format += FormatMeterFillState; _usedSpaceMeter.DataBindings.Add(usedSpaceMeterFillStateBinding); _usedSpaceMeter.DataBindings.Add("Value", _component, "UsedSpacePercent", true, DataSourceUpdateMode.OnPropertyChanged); _usedDiskSpace.DataBindings.Add("Text", _component, "UsedSpacePercentDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _usedDiskSpaceDisplay.DataBindings.Add("Text", _component, "UsedSpaceBytesDisplay", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningIcon.DataBindings.Add("Visible", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningMessage.DataBindings.Add("Visible", _component, "IsMaximumUsedSpaceExceeded", true, DataSourceUpdateMode.OnPropertyChanged); _diskSpaceWarningMessage.DataBindings.Add("Text", _component, "MaximumUsedSpaceExceededMessage", true, DataSourceUpdateMode.OnPropertyChanged); _studyDeletion.DataBindings.Add("Enabled", _component, "CanChangeDeletionRule", true, DataSourceUpdateMode.OnPropertyChanged); _deleteStudiesCheck.DataBindings.Add("Checked", _component, "DeleteStudies", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeValue.DataBindings.Add("Value", _component, "DeleteTimeValue", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeValue.DataBindings.Add("Enabled", _component, "DeleteStudies"); _deleteTimeUnits.Items.AddRange(_component.DeleteTimeUnits.Cast <object>().ToArray()); _deleteTimeUnits.DataBindings.Add("SelectedItem", _component, "DeleteTimeUnit", true, DataSourceUpdateMode.OnPropertyChanged); _deleteTimeUnits.DataBindings.Add("Enabled", _component, "DeleteStudies"); _deleteTimeUnits.Format += (sender, e) => { e.Value = _component.FormatTimeUnit(e.ListItem); }; // bug #10076: combobox databinding doesn't apply change until it loses focus, so we do it manually _deleteTimeUnits.SelectedIndexChanged += (sender, args) => { _component.DeleteTimeUnit = (TimeUnit)_deleteTimeUnits.SelectedItem; }; _changeFileStore.Click += (s, e) => _component.ChangeFileStore(); _helpIcon.Click += (s, e) => _component.Help(); _component.ValidationVisibleChanged += (sender, args) => UpdateDeletionValidationMessage(); _component.PropertyChanged += OnComponentPropertyChanged; //Set initial values. OnComponentPropertyChanged(this, new PropertyChangedEventArgs("FileStoreDirectory")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("FileStoreChangedDescription")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("MaximumUsedSpaceExceededDescription")); OnComponentPropertyChanged(this, new PropertyChangedEventArgs("HelpMessage")); }