blob: cbc1edca15ad4dbab43a0ccd83ea2d17992f814a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Tango.PPC.Common.Notifications.NotificationItems
{
/// <summary>
/// Represents the <see cref="MessageNotificationItem"/> view.
/// </summary>
/// <seealso cref="System.Windows.Controls.UserControl" />
/// <seealso cref="System.Windows.Markup.IComponentConnector" />
public partial class MessageNotificationItemView : UserControl
{
public MessageNotificationItemView()
{
InitializeComponent();
}
}
}
nction.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Xml.Serialization;
using Tango.BL;
using Tango.BL.Entities;
using Tango.Core.Commands;
using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.Technician.TechItems
{
/// <summary>
/// Represents a process parameters table item.
/// </summary>
/// <seealso cref="Tango.MachineStudio.Technician.TechItems.TechItem" />
[TechItem(20)]
public class ProcessParametersItem : TechItem
{
public static ObservableCollection<ProcessParametersTable> ProcessParametersTables { get; set; }
static ProcessParametersItem()
{
ProcessParametersTables = new ObservableCollection<ProcessParametersTable>();
}
public class ParameterIndex
{
public String Name { get; set; }
public int Index { get; set; }
}
private static int _counter = 0;
public event EventHandler<ProcessParametersTable> PushParametersPressed;
private ProcessParametersTable _processParameters;
/// <summary>
/// Gets or sets the process parameters.
/// </summary>
public ProcessParametersTable ProcessParameters
{
get { return _processParameters; }
set { _processParameters = value; RaisePropertyChangedAuto(); }
}
/// <summary>
/// Gets or sets the parameters indices.
/// </summary>
public List<ParameterIndex> ParametersIndices { get; set; }
/// <summary>
/// Gets or sets the push parameters command.
/// </summary>
[XmlIgnore]
public RelayCommand PushParametersCommand { get; set; }
private Rml _selectedResetRml;
/// <summary>
/// Gets or sets the selected reset RML.
/// </summary>
[XmlIgnore]
public Rml SelectedResetRML
{
get { return _selectedResetRml; }
set { _selectedResetRml = value; RaisePropertyChangedAuto(); ResetToRMLCommand.RaiseCanExecuteChanged(); }
}
/// <summary>
/// Gets or sets the push parameters command.
/// </summary>
[XmlIgnore]
public RelayCommand ResetToRMLCommand { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="ProcessParametersItem"/> class.
/// </summary>
public ProcessParametersItem() : base()
{
ParametersIndices = new List<ParameterIndex>();
Name = "Process Parameters";
Description = "Process parameters table";
Image = ResourceHelper.GetImageFromResources("Images/process-params.png");
ProcessParameters = new ProcessParametersTable();
ProcessParameters.Name = "Process parameters " + _counter++;
Color = Colors.DodgerBlue;
PushParametersCommand = new RelayCommand(() => PushParametersPressed?.Invoke(this, ProcessParameters));
ResetToRMLCommand = new RelayCommand(ResetToRml, () => SelectedResetRML != null);
if (_counter > 1)
{
String name = ProcessParameters.Name;
ProcessParametersTables.Add(ProcessParameters);
ProcessParameters.Name = name;
}
}
private void ResetToRml()
{
if (SelectedResetRML != null)
{
using (ObservablesContext db = ObservablesContext.CreateDefault())
{
var group = db.Adapter.GetRmlActiveProcessParametersTablesGroup(SelectedResetRML.Guid);
if (group != null)
{
var table = group.ProcessParametersTables.OrderBy(x => x.TableIndex).FirstOrDefault();
if (table != null)
{
table.MapPrimitivesTo(ProcessParameters);
}
}
}
}
}
/// <summary>
/// Initializes a new instance of the <see cref="ProcessParametersItem"/> class.
/// </summary>
/// <param name="processParameters">The process parameters.</param>
public ProcessParametersItem(ProcessParametersTable processParameters) : this()
{
}
public override TechItem Clone()
{
ProcessParametersItem cloned = base.Clone() as ProcessParametersItem;
cloned.ProcessParameters = ProcessParameters.Clone();
cloned.ParametersIndices = ParametersIndices.Select(x => new ParameterIndex() { Index = x.Index, Name = x.Name }).ToList();
return cloned;
}
}
}
|