Push Changes from Techcrafters Repo
This commit is contained in:
@@ -1,21 +1,22 @@
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using Common;
|
||||
using CommunityToolkit.Mvvm.ComponentModel;
|
||||
using CommunityToolkit.Mvvm.Input;
|
||||
using CommunityToolkit.Mvvm.Messaging;
|
||||
using Heisig.HMI.AdsManager;
|
||||
using InfineonHMI.Pages.Views;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using InfineonHMI.Common;
|
||||
using TcEventLoggerAdsProxyLib;
|
||||
using InfineonHMI.Pages.Views;
|
||||
using TwinCAT.TypeSystem;
|
||||
|
||||
namespace InfineonHMI;
|
||||
|
||||
public sealed partial class MainWindowVM : ObservableObject, IRecipient<NavigateMessage>, IDisposable
|
||||
{
|
||||
|
||||
[ObservableProperty] private StringControlButtonVM dummyStringVM;
|
||||
|
||||
[ObservableProperty] private Page currentPage;
|
||||
|
||||
[ObservableProperty] private Visibility statusBarVisible;
|
||||
@@ -24,12 +25,35 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
|
||||
[ObservableProperty] private string actualUser;
|
||||
|
||||
[ObservableProperty] private string sCurrentPackMLMode;
|
||||
|
||||
[ObservableProperty] private string sCurrentPackMLState;
|
||||
|
||||
[ObservableProperty] private bool canUserChangePageProductionWindow;
|
||||
[ObservableProperty] private bool canUserChangePageReceipeWindow;
|
||||
|
||||
private const string _actualUserPrefix = "Aktueller Benutzer: \n";
|
||||
|
||||
private readonly IAdsManager _adsManager;
|
||||
private readonly IConfiguration _config;
|
||||
private readonly TcEventLogger _eventlogger;
|
||||
|
||||
private User currentUser;
|
||||
|
||||
public User CurrentUser
|
||||
{
|
||||
get { return currentUser; }
|
||||
set
|
||||
{
|
||||
SetProperty(ref currentUser, value);
|
||||
ActualUser = _actualUserPrefix + currentUser.UserName + " lvl: " + currentUser.UserLevel;
|
||||
Users.setCurrentUser(value);
|
||||
|
||||
CanUserChangePageProductionWindow = value.UserLevel == 100;
|
||||
CanUserChangePageReceipeWindow = value.UserLevel == 100;
|
||||
|
||||
}
|
||||
}
|
||||
// Last active event
|
||||
[ObservableProperty] private string currentActiveEvent = "";
|
||||
|
||||
@@ -48,6 +72,8 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
// Settings page viem model
|
||||
SettingsPageVM? _settingsPageVM;
|
||||
|
||||
private PackMLControlVM stMachinePackMLVM;
|
||||
|
||||
ProductionOverviewPageVM? _productionOverviewPageVM;
|
||||
|
||||
private MachineOverviewPageVM? _machineOverviewPageVM;
|
||||
@@ -64,9 +90,9 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
_adsManager = adsManager;
|
||||
_config = config;
|
||||
|
||||
SCurrentPackMLMode = "Aktueller Modus: ";
|
||||
SCurrentPackMLState = "Aktueller Status: ";
|
||||
ActualUser = _actualUserPrefix + "---------";
|
||||
// Create dummy string
|
||||
DummyStringVM = new StringControlButtonVM();
|
||||
|
||||
// Create empty page
|
||||
_emptyPage = new();
|
||||
@@ -79,9 +105,21 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
_currentMessage = new NavigateMessage("", typeof(Page));
|
||||
_messageStack.Push(_currentMessage);
|
||||
|
||||
stMachinePackMLVM = new(_adsManager, "GVL_SCADA.stMachine.stMachineCmds");
|
||||
|
||||
WeakReferenceMessenger.Default.Register<NavigateMessage>(this);
|
||||
|
||||
breadcrumb = "";
|
||||
|
||||
_adsManager.Register("GVL_SCADA.stMachine.stMachineCmds.eCurrentState", StateChanged);
|
||||
_adsManager.Register("GVL_SCADA.stMachine.stMachineCmds.eCurrentMode", ModeChanged);
|
||||
}
|
||||
|
||||
public MainWindowVM()
|
||||
{
|
||||
// Only used for design time
|
||||
SCurrentPackMLMode = "Aktueller Modus: ";
|
||||
SCurrentPackMLState = "Aktueller Status: ";
|
||||
}
|
||||
|
||||
public void NavigateFromOuterPage(NavigateMessage message, NavigateMessage nextMessage)
|
||||
@@ -92,6 +130,115 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
}
|
||||
|
||||
|
||||
private void StateChanged(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
var state = (int)e.Value;
|
||||
var curState = "Aktueller Status: ";
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
curState += "Undefined";
|
||||
break;
|
||||
case 1:
|
||||
curState += "Clearing";
|
||||
break;
|
||||
case 2:
|
||||
curState += "Stopped";
|
||||
break;
|
||||
case 3:
|
||||
curState += "Starting";
|
||||
break;
|
||||
case 4:
|
||||
curState += "Idle";
|
||||
break;
|
||||
case 5:
|
||||
curState += "Suspended";
|
||||
break;
|
||||
case 6:
|
||||
curState += "Execute";
|
||||
break;
|
||||
case 7:
|
||||
curState += "Stopping";
|
||||
break;
|
||||
case 8:
|
||||
curState += "Aborting";
|
||||
break;
|
||||
case 9:
|
||||
curState += "Aborted";
|
||||
break;
|
||||
case 10:
|
||||
curState += "Holding";
|
||||
break;
|
||||
case 11:
|
||||
curState += "Held";
|
||||
break;
|
||||
case 12:
|
||||
curState += "Unholding";
|
||||
break;
|
||||
case 13:
|
||||
curState += "Suspending";
|
||||
break;
|
||||
case 14:
|
||||
curState += "Unsuspending";
|
||||
break;
|
||||
case 15:
|
||||
curState += "Resetting";
|
||||
break;
|
||||
case 16:
|
||||
curState += "Completing";
|
||||
break;
|
||||
case 17:
|
||||
curState += "Completed";
|
||||
break;
|
||||
default:
|
||||
curState += "Undefined";
|
||||
break;
|
||||
}
|
||||
SCurrentPackMLState = curState;
|
||||
}
|
||||
|
||||
private void ModeChanged(object? sender, ValueChangedEventArgs e)
|
||||
{
|
||||
var curMode = "Aktueller Modus: ";
|
||||
var mode = (int)e.Value;
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
curMode += "Invalid";
|
||||
break;
|
||||
case 1:
|
||||
curMode += "Production";
|
||||
break;
|
||||
case 2:
|
||||
curMode += "Maintenance";
|
||||
break;
|
||||
case 3:
|
||||
curMode += "Manual";
|
||||
break;
|
||||
case 4:
|
||||
curMode += "change_over";
|
||||
break;
|
||||
case 5:
|
||||
curMode += "clean";
|
||||
break;
|
||||
case 6:
|
||||
curMode += "set up";
|
||||
break;
|
||||
case 7:
|
||||
curMode += "empty out";
|
||||
break;
|
||||
default:
|
||||
curMode += "Invalid";
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
sCurrentPackMLMode = curMode;
|
||||
|
||||
}
|
||||
|
||||
|
||||
[RelayCommand]
|
||||
private void SettingsWindow()
|
||||
{
|
||||
@@ -102,15 +249,11 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void ChangeUserClicked()
|
||||
public void ChangeUserClicked()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
private void WorkingModeSelectionClicked()
|
||||
{
|
||||
|
||||
var userWindowVm = new UserManagementWindowVm(currentUser);
|
||||
CurrentUser = userWindowVm.GetCurrentUserLevel();
|
||||
OverviewWindowClicked();
|
||||
}
|
||||
|
||||
[RelayCommand]
|
||||
@@ -165,6 +308,10 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
Receive(message);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[RelayCommand]
|
||||
public void EventsListClicked()
|
||||
@@ -183,7 +330,7 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
{
|
||||
// Only change page if its a new page type
|
||||
if (CurrentPage.GetType() == message.type)
|
||||
return;
|
||||
//return;
|
||||
|
||||
// Push current message
|
||||
if (_currentMessage != null)
|
||||
@@ -255,7 +402,7 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
|
||||
case nameof(HotCoolPlatePage):
|
||||
if (_hotCoolplatePageVM == null)
|
||||
_hotCoolplatePageVM = new(_adsManager, "GVL_Config.stHotCoolplateConfig");
|
||||
_hotCoolplatePageVM = new(_adsManager, "directlySetInViewModel");
|
||||
|
||||
HotCoolPlatePage hotCoolPlatePage = new() {DataContext = _hotCoolplatePageVM };
|
||||
CurrentPage = hotCoolPlatePage;
|
||||
@@ -293,6 +440,5 @@ public sealed partial class MainWindowVM : ObservableObject, IRecipient<Navigate
|
||||
viewModel.Dispose();
|
||||
}
|
||||
|
||||
DummyStringVM.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user