Files
FSI.BT.IR.Tools/FSI.BT.Tools/FrmRadialMenu.xaml.cs
Maier Stephan SI 63512e77aa Sicherung
2023-01-16 16:03:54 +01:00

430 lines
9.9 KiB
C#

using FSI.BT.Tools.Commands;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
namespace FSI.BT.Tools
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class FrmRadialMenu : Window, INotifyPropertyChanged
{
private CmdCommand _cmd;
public FrmRadialMenu()
{
InitializeComponent();
DataContext = this;
_isOpenHome = true;
tbversion.Text = "v" + Assembly.GetExecutingAssembly().GetName().Version.Major + "." + Assembly.GetExecutingAssembly().GetName().Version.Minor + "b";
_cmd = new ();
}
#region Home
private bool _isOpenHome = true;
public bool IsOpenHome
{
get
{
return _isOpenHome;
}
set
{
_isOpenHome = value;
RaisePropertyChanged();
}
}
public ICommand CloseRadialMenuHome
{
get
{
return new RelayCommand(() => 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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
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;
RaisePropertyChanged();
}
}
public ICommand OpenRadialMenuAppsVncRdp
{
get
{
return new RelayCommand(() =>
{
IsOpenAppsVncRdp = true;
IsOpenApps = false;
});
}
}
#endregion
public event PropertyChangedEventHandler PropertyChanged;
void RaisePropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
private void Window_Deactivated(object sender, EventArgs e)
{
tbCmd.Text = String.Empty;
tbCmd.Focus();
Visibility = Visibility.Hidden;
IsOpenHome = true;
IsOpenEpl =
IsOpenTools =
IsOpenSie =
IsOpenLinks =
IsOpenApps =
IsOpenPlantLinksPl1 =
IsOpenPlantLinksPl2 =
IsOpenPlantLinksPl3 =
IsOpenAppsVncRdp =
IsOpenPlantLinks = false;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
tbCmd.Focus();
}
private void tbCmd_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Enter && _cmd.CanExecute(((TextBox)sender).Text))
{
_cmd.Execute(((TextBox)sender).Text);
}
}
private void tbCmd_TextChanged(object sender, TextChangedEventArgs e)
{
if (_cmd.CanExecute(((TextBox)sender).Text))
((TextBox)sender).Background = new SolidColorBrush(Colors.Green);
else
((TextBox)sender).Background = new SolidColorBrush(Colors.White);
}
}
}