diff --git a/InteractiveAutomationToolkit/Components/Calendar.cs b/InteractiveAutomationToolkit/Components/Calendar.cs index 2339193..ca3a325 100644 --- a/InteractiveAutomationToolkit/Components/Calendar.cs +++ b/InteractiveAutomationToolkit/Components/Calendar.cs @@ -8,7 +8,7 @@ /// /// Widget to show/edit a datetime. /// - public class Calendar : InteractiveWidget, IValidationWidget + public class Calendar : InteractiveWidget, IValidationWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -38,11 +38,8 @@ public Calendar() : this(DateTime.Now) } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/CheckBox.cs b/InteractiveAutomationToolkit/Components/CheckBox.cs index 9548f90..f9f6423 100644 --- a/InteractiveAutomationToolkit/Components/CheckBox.cs +++ b/InteractiveAutomationToolkit/Components/CheckBox.cs @@ -8,7 +8,7 @@ /// /// A checkbox that can be selected or cleared. /// - public class CheckBox : InteractiveWidget + public class CheckBox : InteractiveWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -60,11 +60,8 @@ public event EventHandler Changed } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/DateTimePicker.cs b/InteractiveAutomationToolkit/Components/DateTimePicker.cs index e93b908..cf7d752 100644 --- a/InteractiveAutomationToolkit/Components/DateTimePicker.cs +++ b/InteractiveAutomationToolkit/Components/DateTimePicker.cs @@ -8,7 +8,7 @@ /// /// Widget to show/edit a datetime. /// - public class DateTimePicker : TimePickerBase, IValidationWidget + public class DateTimePicker : TimePickerBase, IValidationWidget, IIsReadonlyWidget { private readonly AutomationDateTimePickerOptions dateTimePickerOptions; @@ -371,11 +371,8 @@ public string ValidationText } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/Interfaces/ICheckBoxListBase.cs b/InteractiveAutomationToolkit/Components/Interfaces/ICheckBoxListBase.cs index deaf293..9e0d0c3 100644 --- a/InteractiveAutomationToolkit/Components/Interfaces/ICheckBoxListBase.cs +++ b/InteractiveAutomationToolkit/Components/Interfaces/ICheckBoxListBase.cs @@ -5,13 +5,8 @@ /// /// Defines the base functionality for a checkboxlist widget, including properties for state management. /// - public interface ICheckBoxListBase : IValidationWidget + public interface ICheckBoxListBase : IValidationWidget, IIsReadonlyWidget { - /// - /// Gets or sets a value indicating whether the checkboxlist is read-only. - /// - bool IsReadOnly { get; set; } - /// /// Gets or sets a value indicating whether the options in the checkboxlist are sorted. /// diff --git a/InteractiveAutomationToolkit/Components/Interfaces/IDropDownBase.cs b/InteractiveAutomationToolkit/Components/Interfaces/IDropDownBase.cs index 8ecea6e..f1b59d5 100644 --- a/InteractiveAutomationToolkit/Components/Interfaces/IDropDownBase.cs +++ b/InteractiveAutomationToolkit/Components/Interfaces/IDropDownBase.cs @@ -3,20 +3,13 @@ using System; using Skyline.DataMiner.Automation; - public interface IDropDownBase : IValidationWidget + public interface IDropDownBase : IValidationWidget, IIsReadonlyWidget { /// /// Gets or sets a value indicating whether a filter box is available for the drop-down list. /// bool IsDisplayFilterShown { get; set; } - /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. - /// - bool IsReadOnly { get; set; } - /// /// Gets or sets a value indicating whether the options are sorted naturally. /// diff --git a/InteractiveAutomationToolkit/Components/Interfaces/IIsReadonlyWidget.cs b/InteractiveAutomationToolkit/Components/Interfaces/IIsReadonlyWidget.cs new file mode 100644 index 0000000..a38331a --- /dev/null +++ b/InteractiveAutomationToolkit/Components/Interfaces/IIsReadonlyWidget.cs @@ -0,0 +1,13 @@ +namespace Skyline.DataMiner.Utils.InteractiveAutomationScript +{ + public interface IIsReadonlyWidget + { + /// + /// Gets or sets a value indicating whether the control is displayed in read-only mode. + /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. + /// This only affects interactive scripts running in a web environment. + /// + /// Available from DataMiner 10.4.1 onwards. + bool IsReadOnly { get; set; } + } +} diff --git a/InteractiveAutomationToolkit/Components/Interfaces/IRadioButtonListBase.cs b/InteractiveAutomationToolkit/Components/Interfaces/IRadioButtonListBase.cs index 00101f6..8845c2c 100644 --- a/InteractiveAutomationToolkit/Components/Interfaces/IRadioButtonListBase.cs +++ b/InteractiveAutomationToolkit/Components/Interfaces/IRadioButtonListBase.cs @@ -3,13 +3,8 @@ /// /// Defines the base functionality for a radio button list widget, including properties for state and appearance management. /// - public interface IRadioButtonListBase + public interface IRadioButtonListBase : IIsReadonlyWidget { - /// - /// Gets or sets a value indicating whether the radio button list is read-only. - /// - bool IsReadOnly { get; set; } - /// /// Gets or sets a value indicating whether the options in the radio button list are sorted. /// diff --git a/InteractiveAutomationToolkit/Components/Numeric.cs b/InteractiveAutomationToolkit/Components/Numeric.cs index 7a3c618..d619c02 100644 --- a/InteractiveAutomationToolkit/Components/Numeric.cs +++ b/InteractiveAutomationToolkit/Components/Numeric.cs @@ -10,7 +10,7 @@ /// A spinner or numeric up-down control. /// Has a slider when the range is limited. /// - public class Numeric : InteractiveWidget, IValidationWidget + public class Numeric : InteractiveWidget, IValidationWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -255,12 +255,10 @@ public string ValidationText } } + /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/RadioButtonListBase.cs b/InteractiveAutomationToolkit/Components/RadioButtonListBase.cs index 5192f8f..721c13c 100644 --- a/InteractiveAutomationToolkit/Components/RadioButtonListBase.cs +++ b/InteractiveAutomationToolkit/Components/RadioButtonListBase.cs @@ -47,7 +47,6 @@ public string Tooltip } /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/TextBox.cs b/InteractiveAutomationToolkit/Components/TextBox.cs index d2f1972..83b5c8b 100644 --- a/InteractiveAutomationToolkit/Components/TextBox.cs +++ b/InteractiveAutomationToolkit/Components/TextBox.cs @@ -8,7 +8,7 @@ /// /// Widget that is used to edit and display text. /// - public class TextBox : InteractiveWidget, IValidationWidget + public class TextBox : InteractiveWidget, IValidationWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -193,11 +193,8 @@ public string ValidationText } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/Time.cs b/InteractiveAutomationToolkit/Components/Time.cs index 086731f..05a36e1 100644 --- a/InteractiveAutomationToolkit/Components/Time.cs +++ b/InteractiveAutomationToolkit/Components/Time.cs @@ -9,7 +9,7 @@ /// /// Widget to show/edit a time duration. /// - public class Time : InteractiveWidget, IValidationWidget + public class Time : InteractiveWidget, IValidationWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -38,11 +38,8 @@ public Time() : this(default) } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/TimePicker.cs b/InteractiveAutomationToolkit/Components/TimePicker.cs index bc27b7e..2365062 100644 --- a/InteractiveAutomationToolkit/Components/TimePicker.cs +++ b/InteractiveAutomationToolkit/Components/TimePicker.cs @@ -9,7 +9,7 @@ /// /// Widget to show/edit a time of day. /// - public class TimePicker : TimePickerBase, IValidationWidget + public class TimePicker : TimePickerBase, IValidationWidget, IIsReadonlyWidget { private bool changed; private bool focusLost; @@ -293,11 +293,8 @@ public string ValidationText } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get diff --git a/InteractiveAutomationToolkit/Components/TreeView.cs b/InteractiveAutomationToolkit/Components/TreeView.cs index 7828307..566d686 100644 --- a/InteractiveAutomationToolkit/Components/TreeView.cs +++ b/InteractiveAutomationToolkit/Components/TreeView.cs @@ -10,7 +10,7 @@ /// /// A tree view structure. /// - public class TreeView : InteractiveWidget + public class TreeView : InteractiveWidget, IIsReadonlyWidget { private Dictionary checkedItemCache; private Dictionary collapsedItemCache; // TODO: should only contain Items with LazyLoading set to true @@ -232,11 +232,8 @@ public string Tooltip } /// - /// Gets or sets a value indicating whether the control is displayed in read-only mode. - /// Read-only mode causes the widgets to appear read-write but the user won't be able to change their value. - /// This only affects interactive scripts running in a web environment. + /// /// - /// Available from DataMiner 10.4.1 onwards. public virtual bool IsReadOnly { get