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