430 lines
9.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|