diff --git a/uniper_hmi/UniperHMI/Common/PackMLControl.xaml b/uniper_hmi/UniperHMI/Common/PackMLControl.xaml
index c3c93ea..8852c12 100644
--- a/uniper_hmi/UniperHMI/Common/PackMLControl.xaml
+++ b/uniper_hmi/UniperHMI/Common/PackMLControl.xaml
@@ -39,6 +39,7 @@
+
@@ -55,14 +56,22 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/uniper_hmi/UniperHMI/Common/PackMLControlVm.cs b/uniper_hmi/UniperHMI/Common/PackMLControlVm.cs
index 396c0cb..c0be546 100644
--- a/uniper_hmi/UniperHMI/Common/PackMLControlVm.cs
+++ b/uniper_hmi/UniperHMI/Common/PackMLControlVm.cs
@@ -31,6 +31,7 @@ public sealed partial class PackMLControlVM : ObservableValidator, IDisposable
[ObservableProperty] private HMIControlButtonVM? suspendButtonVm;
[ObservableProperty] private HMIControlButtonVM? unholdButtonVm;
[ObservableProperty] private HMIControlButtonVM? unsuspendButtonVm;
+ [ObservableProperty] private HMIControlButtonVM? completeButtonVm;
[ObservableProperty] private bool canUserInteract;
@@ -50,6 +51,7 @@ public sealed partial class PackMLControlVM : ObservableValidator, IDisposable
SuspendButtonVm = new();
UnholdButtonVm = new();
UnsuspendButtonVm = new();
+ CompleteButtonVm = new();
var currentUser = Users.getCurrentUser();
canUserInteract = currentUser.UserLevel > 50;
@@ -76,6 +78,7 @@ public sealed partial class PackMLControlVM : ObservableValidator, IDisposable
SuspendButtonVm = new(_adsManager, _variableName + ".stBtnSuspend");
UnholdButtonVm = new(_adsManager, _variableName + ".stBtnUnhold");
UnsuspendButtonVm = new(_adsManager, _variableName + ".stBtnUnsuspend");
+ CompleteButtonVm = new(_adsManager, _variableName + ".stBtnComplete");
_adsManager.Register(_variableName + ".eCurrentState", StateChanged);
_adsManager.Register(_variableName + ".eCurrentMode", ModeChanged);
@@ -194,7 +197,18 @@ public sealed partial class PackMLControlVM : ObservableValidator, IDisposable
public void Dispose()
{
-
+ ProdModeButtonVm?.Dispose();
+ ManualModeButtonVm?.Dispose();
+ ClearButtonVm?.Dispose();
+ ResetButtonVm?.Dispose();
+ StartButtonVm?.Dispose();
+ AbortButtonVm?.Dispose();
+ HoldButtonVm?.Dispose();
+ StopButtonVm?.Dispose();
+ SuspendButtonVm?.Dispose();
+ UnholdButtonVm?.Dispose();
+ UnsuspendButtonVm?.Dispose();
+ CompleteButtonVm?.Dispose();
}