Files
crysome/Crysome.Server/Crysome.Server.ViewModel/MainViewModel.cs
T
2026-08-27 11:22:54 -06:00

64 lines
1.4 KiB
C#

using Crysome.Server.Model;
using Crysome.Server.Network;
namespace Crysome.Server.ViewModel;
public class MainViewModel : ViewModelBase
{
private ViewModelBase _currentPageViewModel;
public ViewModelBase CurrentPageViewModel
{
get
{
return _currentPageViewModel;
}
set
{
_currentPageViewModel = value;
OnPropertyChanged("CurrentPageViewModel");
}
}
public ManageClientsViewModel ClientsVM { get; private set; }
public MainViewModel()
{
ClientsVM = new ManageClientsViewModel(this);
CurrentPageViewModel = ClientsVM;
}
public void GoToClients()
{
if (CurrentPageViewModel is FileExplorerViewModel fileExplorerViewModel)
{
fileExplorerViewModel.Dispose();
}
CurrentPageViewModel = ClientsVM;
}
public void GoToBuilder()
{
CurrentPageViewModel = new BuilderViewModel(this);
}
public void GoToFileExplorer(CrysomeServer server, ClientInfo client)
{
if (CurrentPageViewModel is FileExplorerViewModel fileExplorerViewModel)
{
fileExplorerViewModel.Dispose();
}
CurrentPageViewModel = new FileExplorerViewModel(server, client, this);
}
public void GoToSettings()
{
CurrentPageViewModel = new SettingsViewModel(this, ClientsVM.Store);
}
public void GoToPlugins()
{
CurrentPageViewModel = new PluginManagerViewModel(this, ClientsVM.Store);
}
}