443 lines
9.4 KiB
C#
443 lines
9.4 KiB
C#
using FSI.Lib.MVVM;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Windows;
|
|
using System.Windows.Input;
|
|
|
|
namespace FSI.BT.Tools.RadialMenu
|
|
{
|
|
public class MainViewModel : ViewModelBase
|
|
{
|
|
public MainViewModel(Window win, List<string> cmds)
|
|
{
|
|
_window = win;
|
|
_window.Deactivated += _window_Deactivated;
|
|
_isOpenHome = true;
|
|
|
|
Cmds = new();
|
|
|
|
if (cmds != null)
|
|
{
|
|
foreach (string cmd in cmds)
|
|
Cmds.Add(cmd);
|
|
}
|
|
|
|
Cmds.Add("Rdp.Mgt");
|
|
Provider = new(ref _cmds);
|
|
}
|
|
|
|
|
|
private ObservableCollection<string> _cmds;
|
|
|
|
public ObservableCollection<string> Cmds
|
|
{
|
|
get { return _cmds; }
|
|
set
|
|
{
|
|
_cmds = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
private CmdProvider _cmdProvider;
|
|
|
|
public CmdProvider Provider
|
|
{
|
|
get { return _cmdProvider; }
|
|
set { _cmdProvider = value; }
|
|
}
|
|
|
|
|
|
private string _cmd;
|
|
|
|
public string Cmd
|
|
{
|
|
get { return _cmd; }
|
|
set
|
|
{
|
|
_cmd = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
|
|
private Window _window;
|
|
|
|
public Window Window
|
|
{
|
|
get { return _window; }
|
|
set { _window = value; }
|
|
}
|
|
|
|
#region Home
|
|
private bool _isOpenHome = true;
|
|
public bool IsOpenHome
|
|
{
|
|
get
|
|
{
|
|
return _isOpenHome;
|
|
}
|
|
set
|
|
{
|
|
_isOpenHome = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand CloseRadialMenuHome
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() => _window.Visibility = Visibility.Hidden);
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuHome
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenHome = true;
|
|
IsOpenEpl =
|
|
IsOpenTools =
|
|
IsOpenSie =
|
|
IsOpenApps =
|
|
IsOpenPlantLinksPl1 =
|
|
IsOpenPlantLinksPl2 =
|
|
IsOpenPlantLinksPl3 =
|
|
IsOpenAppsVncRdp =
|
|
IsOpenLinks = false;
|
|
});
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Epl
|
|
|
|
private bool _isOpenEpl = false;
|
|
public bool IsOpenEpl
|
|
{
|
|
get
|
|
{
|
|
return _isOpenEpl;
|
|
}
|
|
set
|
|
{
|
|
_isOpenEpl = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuEpl
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenEpl = true;
|
|
IsOpenHome = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Tools
|
|
|
|
private bool _isOpenTools = false;
|
|
public bool IsOpenTools
|
|
{
|
|
get
|
|
{
|
|
return _isOpenTools;
|
|
}
|
|
set
|
|
{
|
|
_isOpenTools = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuTools
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenTools = true;
|
|
IsOpenHome = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Siemens
|
|
|
|
private bool _isOpenSie = false;
|
|
public bool IsOpenSie
|
|
{
|
|
get
|
|
{
|
|
return _isOpenSie;
|
|
}
|
|
set
|
|
{
|
|
_isOpenSie = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuSie
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenSie = true;
|
|
IsOpenHome = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Links
|
|
|
|
private bool _isOpenLinks = false;
|
|
public bool IsOpenLinks
|
|
{
|
|
get
|
|
{
|
|
return _isOpenLinks;
|
|
}
|
|
set
|
|
{
|
|
_isOpenLinks = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuLinks
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenLinks = true;
|
|
IsOpenPlantLinks =
|
|
IsOpenHome = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Anlagen Links
|
|
|
|
private bool _isOpenPlantLinks = false;
|
|
public bool IsOpenPlantLinks
|
|
{
|
|
get
|
|
{
|
|
return _isOpenPlantLinks;
|
|
}
|
|
set
|
|
{
|
|
_isOpenPlantLinks = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuPlantLinks
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenPlantLinks = true;
|
|
IsOpenPlantLinksPl1 =
|
|
IsOpenPlantLinksPl2 =
|
|
IsOpenPlantLinksPl3 =
|
|
IsOpenLinks = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Anlagen Links Pl1
|
|
|
|
private bool _isOpenPlantLinksPl1 = false;
|
|
public bool IsOpenPlantLinksPl1
|
|
{
|
|
get
|
|
{
|
|
return _isOpenPlantLinksPl1;
|
|
}
|
|
set
|
|
{
|
|
_isOpenPlantLinksPl1 = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuPlantLinksPl1
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenPlantLinksPl1 = true;
|
|
IsOpenPlantLinks = false;
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Anlagen Links Pl2
|
|
|
|
private bool _isOpenPlantLinksPl2 = false;
|
|
public bool IsOpenPlantLinksPl2
|
|
{
|
|
get
|
|
{
|
|
return _isOpenPlantLinksPl2;
|
|
}
|
|
set
|
|
{
|
|
_isOpenPlantLinksPl2 = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuPlantLinksPl2
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenPlantLinksPl2 = true;
|
|
IsOpenPlantLinks = false;
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Anlagen Links Pl3
|
|
|
|
private bool _isOpenPlantLinksPl3 = false;
|
|
public bool IsOpenPlantLinksPl3
|
|
{
|
|
get
|
|
{
|
|
return _isOpenPlantLinksPl3;
|
|
}
|
|
set
|
|
{
|
|
_isOpenPlantLinksPl3 = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuPlantLinksPl3
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenPlantLinksPl3 = true;
|
|
IsOpenPlantLinks = false;
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Apps
|
|
|
|
private bool _isOpenApps = false;
|
|
public bool IsOpenApps
|
|
{
|
|
get
|
|
{
|
|
return _isOpenApps;
|
|
}
|
|
set
|
|
{
|
|
_isOpenApps = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuApps
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenApps = true;
|
|
IsOpenAppsVncRdp =
|
|
IsOpenHome = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Apps RDP VNC
|
|
|
|
private bool _isOpenAppsVncRdp = false;
|
|
public bool IsOpenAppsVncRdp
|
|
{
|
|
get
|
|
{
|
|
return _isOpenAppsVncRdp;
|
|
}
|
|
set
|
|
{
|
|
_isOpenAppsVncRdp = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ICommand OpenRadialMenuAppsVncRdp
|
|
{
|
|
get
|
|
{
|
|
return new RelayCommand(() =>
|
|
{
|
|
IsOpenAppsVncRdp = true;
|
|
IsOpenApps = false;
|
|
});
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
private void _window_Deactivated(object sender, EventArgs e)
|
|
{
|
|
_window.Visibility = Visibility.Hidden;
|
|
|
|
IsOpenHome = true;
|
|
IsOpenEpl =
|
|
IsOpenTools =
|
|
IsOpenSie =
|
|
IsOpenLinks =
|
|
IsOpenApps =
|
|
IsOpenPlantLinksPl1 =
|
|
IsOpenPlantLinksPl2 =
|
|
IsOpenPlantLinksPl3 =
|
|
IsOpenAppsVncRdp =
|
|
IsOpenPlantLinks = false;
|
|
}
|
|
}
|
|
}
|