aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.Common/UpdatePackages/PPCPackageAttribute.cs
blob: 6067b0c181831b4786b446d4393c79a7c9ae0166 (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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.PPC.Shared.Updates;

namespace Tango.PPC.Common.UpdatePackages
{
    [AttributeUsage(AttributeTargets.Class)]
    public class PPCPackageAttribute : Attribute
    {
        public String Name { get; set; }

        public PackageType Type { get; set; }

        public bool RequiresRestart { get; set; }

        public PPCPackageAttribute(PackageType type, String name, bool requiresRestart)
        {
            Type = type;
            Name = name;
            RequiresRestart = requiresRestart;
        }
    }
}
{ public class GridLines : ComponentBase { private RealTimeGraphExBase lastGraph; #region Properties public int Rows { get { return (int)GetValue(RowsProperty); } set { SetValue(RowsProperty, value); } } public static readonly DependencyProperty RowsProperty = DependencyProperty.Register("Rows", typeof(int), typeof(GridLines), new PropertyMetadata(5)); public int Columns { get { return (int)GetValue(ColumnsProperty); } set { SetValue(ColumnsProperty, value); } } public static readonly DependencyProperty ColumnsProperty = DependencyProperty.Register("Columns", typeof(int), typeof(GridLines), new PropertyMetadata(9)); public Brush GridBrush { get { return (Brush)GetValue(GridBrushProperty); } set { SetValue(GridBrushProperty, value); } } public static readonly DependencyProperty GridBrushProperty = DependencyProperty.Register("GridBrush", typeof(Brush), typeof(GridLines), new PropertyMetadata(Brushes.Silver)); #endregion public GridLines() { Location = ComponentLocationEnum.Back; this.SizeChanged += (x, y) => { Render(Graph); }; } public void Render() { Render(lastGraph); } public override void Render(RealTimeGraphExBase graph, bool animate = false) { if (graph == null) return; lastGraph = graph; Grid grid = new Grid(); grid.Children.Clear(); grid.ColumnDefinitions.Clear(); grid.RowDefinitions.Clear(); for (int i = 0; i < Rows; i++) { RowDefinition row = new RowDefinition(); row.Height = new GridLength(1, GridUnitType.Star); grid.RowDefinitions.Add(row); RowDefinition rowLabels = new RowDefinition(); row.Height = new GridLength(1, GridUnitType.Star); } for (int i = 0; i < Columns; i++) { ColumnDefinition column = new ColumnDefinition(); column.Width = new GridLength(1, GridUnitType.Star); grid.ColumnDefinitions.Add(column); } for (int i = 0; i < grid.RowDefinitions.Count - 1; i++) { Rectangle rec = new Rectangle(); rec.Height = 1; rec.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; rec.VerticalAlignment = System.Windows.VerticalAlignment.Bottom; rec.Fill = GridBrush; Grid.SetRow(rec, i); Grid.SetColumn(rec, 0); Grid.SetColumnSpan(rec, grid.ColumnDefinitions.Count); grid.Children.Add(rec); } for (int i = 0; i < grid.ColumnDefinitions.Count - 1; i++) { Rectangle rec = new Rectangle(); rec.Width = 1; rec.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; rec.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; rec.Fill = GridBrush; Grid.SetColumn(rec, i); Grid.SetRow(rec, 0); Grid.SetRowSpan(rec, grid.RowDefinitions.Count); grid.Children.Add(rec); } this.Content = grid; //if (!graph.gridBack.Children.Contains(this)) //{ // this.RemoveFromParent(); // graph.gridBack.Children.Add(this); //} } } }