diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/Entity/HslLanternAlarmEntity.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/Entity/HslLanternAlarmEntity.cs new file mode 100644 index 0000000..ce8c5fd --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/Entity/HslLanternAlarmEntity.cs @@ -0,0 +1,24 @@ +using Mesnac.Controls.ChemicalWeighing; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Mesnac.Action.ChemicalWeighing.MainDetailControl.Entity +{ + public class HslLanternAlarmEntity + { + public HslLanternAlarm HslLanternAlarm1 { get; set; } + public HslLanternAlarm HslLanternAlarm2 { get; set; } + public HslLanternAlarm HslLanternAlarm3 { get; set; } + public HslLanternAlarm HslLanternAlarm4 { get; set; } + public HslLanternAlarm HslLanternAlarm5 { get; set; } + public HslLanternAlarm HslLanternAlarm6 { get; set; } + public HslLanternAlarm HslLanternAlarm7 { get; set; } + public HslLanternAlarm HslLanternAlarm8 { get; set; } + + + } +} diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/MainDetailControlAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/MainDetailControlAction.cs index a099bb7..4d9af8e 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/MainDetailControlAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/MainDetailControl/MainDetailControlAction.cs @@ -27,6 +27,9 @@ using Timer = System.Windows.Forms.Timer; using Mesnac.Action.ChemicalWeighing.LjMaterial; using System.Data; using Mesnac.Action.ChemicalWeighing.MainDetailControl.Entity; +using Mesnac.Action.ChemicalWeighing.RgvPlc; +using System.Reflection; +using System.Security.AccessControl; namespace Mesnac.Action.ChemicalWeighing.MainDetailControl { @@ -54,6 +57,9 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl private PlcReadTempEntity PlcReadTemp = new PlcReadTempEntity(); private DbMCControl AlarmForm = null; //物料列表控件 private MCLabel MCWatchDog; + HslLanternAlarmEntity hslAlarmEntity; + + #endregion @@ -71,7 +77,8 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl //this.GetDbMCControlByKey(Mesnac.Basic.DataSourceFactory.MCDbType.Local, "AlarmForm").FirstOrDefault(); //获取物料数据控件 Controls = GetAllControls(); - + //更细自定义控件报警灯 + FillControlHslLanternAlarm(); MCWatchDog =Controls.FirstOrDefault(x => x.Name == "MCWatchDog") as MCLabel; ParametersWithPCTable.Columns.Add("id", typeof(string)); @@ -100,8 +107,27 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl } + + + #endregion + private void FillControlHslLanternAlarm() + { + hslAlarmEntity = new HslLanternAlarmEntity(); + var sourceType= hslAlarmEntity.GetType(); + PropertyInfo[] sourcePropertyInfoList = sourceType.GetProperties(); + foreach ( PropertyInfo sourceProperty in sourcePropertyInfoList) + { + string name = sourceProperty.Name; + var pro= Controls.FirstOrDefault(x => x.Name == name) as HslLanternAlarm; + sourceProperty.SetValue(hslAlarmEntity, pro); + } + + } + + + #region 线程新建,计时器调用 /// @@ -115,7 +141,7 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl if (conCurrentCache.Count == 0) { - MesnacServiceManager.Instance.LoggingService.Info("开始"); + Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); @@ -129,13 +155,22 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl NewThreadDb2103(); NewThreadDb2107(); + + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm3, list[2].Error); + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm4, list[3].Error); + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm5, list[4].Error); + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm6, list[5].Error); + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm7, list[6].Error); + //SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm8, list[7].Error); + + conCurrentCache.Clear(); stopwatch.Stop(); var send = stopwatch.ElapsedMilliseconds; MesnacServiceManager.Instance.LoggingService.Info("结束" + send); - conCurrentCache.Clear(); + } else { @@ -163,6 +198,17 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl timer.Dispose(); } + //目前只有主线程可以 + var list = RgvPlcUtil.GetRGVAllError(); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm1, list[0].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm2, list[1].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm3, list[2].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm4, list[3].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm5, list[4].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm6, list[5].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm7, list[6].Error); + SetHslLanternAlarm(hslAlarmEntity.HslLanternAlarm8, list[7].Error); + ThreadPool.QueueUserWorkItem(new WaitCallback(NewThread)); @@ -2111,6 +2157,20 @@ namespace Mesnac.Action.ChemicalWeighing.MainDetailControl } } + + public void SetHslLanternAlarm(HslLanternAlarm lanternAlarm, bool error) + { + + + if (lanternAlarm.IsAlarm == error) + { + return; + } + + lanternAlarm.IsAlarm = error; + + } + public SwitchLight GetSwitchLight(string name) { return Controls.First(x => x.Name == name) as SwitchLight; diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj index f358071..0a99900 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Mesnac.Action.ChemicalWeighing.csproj @@ -512,6 +512,7 @@ Loading.cs + @@ -591,6 +592,7 @@ + Form diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/RgvPlc/RGVEntity.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/RgvPlc/RGVEntity.cs new file mode 100644 index 0000000..1f14fdd --- /dev/null +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/RgvPlc/RGVEntity.cs @@ -0,0 +1,64 @@ +using DataBlockHelper; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Mesnac.Action.ChemicalWeighing.RgvPlc +{ + public class RGVEntity + { + public RGVEntity() { } + + public bool Error { get; set; } + } + + + public class RgvPlcUtil + { + + static string Db = "DB2118"; + public static List GetRGVAllError() + { + List ls = new List(); + //第一台 330.2 倒序 + // 330.2 308.2 286.2 264.2 242.2 220.2 198.2 176.2 + + List strings = new List() + { + "330.2", + "308.2", + "286.2", + "264.2", + "242.2", + "220.2", + "198.2", + "176.2", + }; + + + + foreach (string s in strings) + { + ls.Add(new RGVEntity() + { + + Error = Read(s) + }); + } + return ls; + + + } + + + + + private static bool Read(string dian) + { + return PlcConnect.Instance.ReadBool($"{Db}.{dian}").Content; + } + } +} diff --git a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Test/TestAction.cs b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Test/TestAction.cs index 6940890..43c3121 100644 --- a/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Test/TestAction.cs +++ b/Actions/ChemicalWeighing/Mesnac.Action.ChemicalWeighing/Test/TestAction.cs @@ -13,9 +13,11 @@ using Mesnac.Action.Base; using Mesnac.Action.ChemicalWeighing.LjReport.OpenDoor; using Mesnac.Action.ChemicalWeighing.MinAn; +using Mesnac.Action.ChemicalWeighing.RgvPlc; using Mesnac.Basic; using Mesnac.Codd.Session; using Mesnac.Controls.Base; +using Mesnac.Controls.ChemicalWeighing; using Mesnac.Controls.Default; @@ -24,25 +26,28 @@ namespace Mesnac.Action.ChemicalWeighing.Test { public class TestAction : DatabaseAction, IAction { - + HslLanternAlarm lanternAlarm; MCButton mCButton; public void timer1EventProcessor(object source, EventArgs e) { - + lanternAlarm.IsAlarm = !lanternAlarm.IsAlarm; - DialogResult result = - MessageBox.Show("正在上料", "温馨提示:", MessageBoxButtons.OK, MessageBoxIcon.Information); - if (result == DialogResult.OK) - { - return; - } + //DialogResult result = + // MessageBox.Show("正在上料", "温馨提示:", MessageBoxButtons.OK, MessageBoxIcon.Information); + //if (result == DialogResult.OK) + //{ + // return; + //} string a = MinAnPlc.Heir1.ToString(); string b = MinAnPlc.Heir2.ToString(); string c = MinAnPlc.Heir3.ToString(); + + var list = RgvPlcUtil.GetRGVAllError(); + } public void Run(RuntimeParameter runtime) @@ -53,7 +58,14 @@ namespace Mesnac.Action.ChemicalWeighing.Test mCButton.Click += new EventHandler(timer1EventProcessor); + + lanternAlarm = allDb.FirstOrDefault(x => x.Name == "HslLanternAlarm1") as HslLanternAlarm; + + lanternAlarm.NormalColor = System.Drawing.Color.Green; + lanternAlarm.AlarmColor = System.Drawing.Color.Red; + lanternAlarm.IsAlarm = false; + //MCButton1 diff --git a/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.Designer.cs b/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.Designer.cs new file mode 100644 index 0000000..5a6c583 --- /dev/null +++ b/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.Designer.cs @@ -0,0 +1,37 @@ +namespace Mesnac.Controls.ChemicalWeighing +{ + partial class HslLanternAlarm + { + /// + /// 必需的设计器变量。 + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 清理所有正在使用的资源。 + /// + /// 如果应释放托管资源,为 true;否则为 false。 + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 组件设计器生成的代码 + + /// + /// 设计器支持所需的方法 - 不要修改 + /// 使用代码编辑器修改此方法的内容。 + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.cs b/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.cs new file mode 100644 index 0000000..6f4af36 --- /dev/null +++ b/Controls/Mesnac.Controls.ChemicalWeighing/HslLanternAlarm.cs @@ -0,0 +1,341 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Drawing.Text; +using System.Linq; +using System.Net; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Mesnac.Controls.ChemicalWeighing +{ + + [Description("报警灯控件,支持闪烁,颜色设置")] + public partial class HslLanternAlarm : UserControl + { + + private Color bottomColor = Color.DimGray; + + // Token: 0x040002B5 RID: 693 + private Brush bottomBrush = new SolidBrush(Color.DimGray); + + // Token: 0x040002B6 RID: 694 + private Color lightColor = Color.Green; + + // Token: 0x040002B7 RID: 695 + private Brush lightBrush = new SolidBrush(Color.Green); + + // Token: 0x040002B8 RID: 696 + private Color alarmColor = Color.Tomato; + + // Token: 0x040002B9 RID: 697 + private Color normalColor = Color.Green; + + // Token: 0x040002BA RID: 698 + private bool isAlarm = false; + + // Token: 0x040002BB RID: 699 + private bool alarmStatus = false; + + // Token: 0x040002BC RID: 700 + private Timer timer = new Timer(); + + // Token: 0x040002BD RID: 701 + private StringFormat sf = null; + + // Token: 0x040002BE RID: 702 + private float buttonHeight = 0.1f; + ///// + ///// 清理所有正在使用的资源。 + ///// + ///// 如果应释放托管资源,为 true;否则为 false。 + //// Token: 0x0600057A RID: 1402 RVA: 0x00035E68 File Offset: 0x00034068 + //protected override void Dispose(bool disposing) + //{ + // bool flag = disposing && this.components != null; + // if (flag) + // { + // this.components.Dispose(); + // } + // base.Dispose(disposing); + //} + + + + + private void Timer_Tick(object sender, EventArgs e) + { + bool flag = this.isAlarm; + if (flag) + { + bool flag2 = this.alarmStatus; + if (flag2) + { + this.LightColor = this.AlarmColor; + } + else + { + this.LightColor = this.NormalColor; + } + this.alarmStatus = !this.alarmStatus; + } + else + { + this.LightColor = this.NormalColor; + } + } + + protected override void OnPaint(PaintEventArgs e) + { + e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; + e.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit; + Graphics graphics = e.Graphics; + this.PaintHslControls(graphics, base.Width, base.Height); + base.OnPaint(e); + } + + + public void PaintHslControls(Graphics g, int width, int height) + { + int num = (this.buttonHeight >= 1f) ? ((int)this.buttonHeight) : ((int)(this.buttonHeight * (float)height)); + int num2 = width * 4 / 10; + bool flag2 = height - num2 - 2 * num > 0; + if (flag2) + { + g.FillRectangle(this.lightBrush, width / 10, num2, width * 8 / 10, height - num2 - 2 * num); + } + g.FillPie(this.lightBrush, width / 10, 1, width * 8 / 10, num2 * 2, 180, 180); + g.FillRectangle(this.bottomBrush, new Rectangle(0, height - 1 - num, width, num)); + g.FillRectangle(this.bottomBrush, new Rectangle(width / 20, height - 1 - num * 2, width - width / 10, num)); + } + + + + public HslLanternAlarm() + { + InitializeComponent(); + + base.SuspendLayout(); + base.AutoScaleMode = AutoScaleMode.None; + this.BackColor = Color.Transparent; + base.Name = "HslLanternAlarm"; + base.Size = new Size(99, 129); + base.ResumeLayout(false); + + + this.sf = new StringFormat(); + this.sf.Alignment = StringAlignment.Center; + this.sf.LineAlignment = StringAlignment.Center; + base.SetStyle(ControlStyles.UserPaint | ControlStyles.SupportsTransparentBackColor, true); + base.SetStyle(ControlStyles.ResizeRedraw, true); + base.SetStyle(ControlStyles.OptimizedDoubleBuffer, true); + base.SetStyle(ControlStyles.AllPaintingInWmPaint, true); + this.timer.Interval = 500; + this.timer.Tick += this.Timer_Tick; + + NormalColor = System.Drawing.Color.Green; + AlarmColor = System.Drawing.Color.Red; + + } + + /// + /// 获取或设置控件的背景色 + /// + // Token: 0x170001A9 RID: 425 + // (get) Token: 0x06000567 RID: 1383 RVA: 0x00035B51 File Offset: 0x00033D51 + // (set) Token: 0x06000568 RID: 1384 RVA: 0x00035B59 File Offset: 0x00033D59 + [Browsable(true)] + [Description("获取或设置控件的背景色")] + [Category("HslControls")] + [DefaultValue(typeof(Color), "Transparent")] + [EditorBrowsable(EditorBrowsableState.Always)] + public override Color BackColor + { + get + { + return base.BackColor; + } + set + { + base.BackColor = value; + } + } + + /// + /// 获取或设置底座的背景色 + /// + // Token: 0x170001AA RID: 426 + // (get) Token: 0x06000569 RID: 1385 RVA: 0x00035B64 File Offset: 0x00033D64 + // (set) Token: 0x0600056A RID: 1386 RVA: 0x00035B7C File Offset: 0x00033D7C + [Browsable(true)] + [Description("获取或设置底座的背景色")] + [Category("HslControls")] + [DefaultValue(typeof(Color), "DimGray")] + public Color BottomColor + { + get + { + return this.bottomColor; + } + set + { + this.bottomColor = value; + this.bottomBrush.Dispose(); + this.bottomBrush = new SolidBrush(value); + base.Invalidate(); + } + } + + /// + /// 获取或设置报警灯的颜色,可以设置为任意的颜色 + /// + // Token: 0x170001AB RID: 427 + // (get) Token: 0x0600056B RID: 1387 RVA: 0x00035BA8 File Offset: 0x00033DA8 + // (set) Token: 0x0600056C RID: 1388 RVA: 0x00035BC0 File Offset: 0x00033DC0 + [Browsable(true)] + [Description("获取或设置报警灯的颜色,可以设置为任意的颜色")] + [Category("HslControls")] + [DefaultValue(typeof(Color), "Tomato")] + public Color LightColor + { + get + { + return this.lightColor; + } + set + { + this.lightColor = value; + this.lightBrush.Dispose(); + this.lightBrush = new SolidBrush(value); + base.Invalidate(); + } + } + + /// + /// 获取或设置报警状态下的颜色 + /// + // Token: 0x170001AC RID: 428 + // (get) Token: 0x0600056D RID: 1389 RVA: 0x00035BEC File Offset: 0x00033DEC + // (set) Token: 0x0600056E RID: 1390 RVA: 0x00035C04 File Offset: 0x00033E04 + [Browsable(true)] + [Description("获取或设置报警状态下的颜色")] + [Category("HslControls")] + [DefaultValue(typeof(Color), "Tomato")] + public Color AlarmColor + { + get + { + return this.alarmColor; + } + set + { + this.alarmColor = value; + base.Invalidate(); + } + } + + /// + /// 获取或设置正常状态的背景色 + /// + // Token: 0x170001AD RID: 429 + // (get) Token: 0x0600056F RID: 1391 RVA: 0x00035C18 File Offset: 0x00033E18 + // (set) Token: 0x06000570 RID: 1392 RVA: 0x00035C30 File Offset: 0x00033E30 + [Browsable(true)] + [Description("获取或设置正常状态的背景色")] + [Category("HslControls")] + [DefaultValue(typeof(Color), "LightGray")] + public Color NormalColor + { + get + { + return this.normalColor; + } + set + { + this.normalColor = value; + base.Invalidate(); + } + } + + /// + /// 一旦设置本属性,启动信号灯闪烁 + /// + // Token: 0x170001AE RID: 430 + // (get) Token: 0x06000571 RID: 1393 RVA: 0x00035C44 File Offset: 0x00033E44 + // (set) Token: 0x06000572 RID: 1394 RVA: 0x00035C5C File Offset: 0x00033E5C + [Browsable(true)] + [Description("一旦设置本属性,启动信号灯闪烁,信号灯在正常色和报警色之间进行闪烁")] + [Category("HslControls")] + [DefaultValue(false)] + public bool IsAlarm + { + get + { + return this.isAlarm; + } + set + { + this.isAlarm = value; + bool flag = this.isAlarm; + if (flag) + { + this.timer.Start(); + } + else + { + this.timer.Stop(); + this.LightColor = this.NormalColor; + } + } + } + + /// + /// 获取或设置报警灯闪烁的频率,单位是毫秒,默认为500 + /// + // Token: 0x170001AF RID: 431 + // (get) Token: 0x06000573 RID: 1395 RVA: 0x00035CA6 File Offset: 0x00033EA6 + // (set) Token: 0x06000574 RID: 1396 RVA: 0x00035CB3 File Offset: 0x00033EB3 + [Browsable(true)] + [Description("获取或设置报警灯闪烁的频率,单位是毫秒,默认为500")] + [Category("HslControls")] + [DefaultValue(500)] + public int AlarmFlushTime + { + get + { + return this.timer.Interval; + } + set + { + this.timer.Interval = value; + } + } + + /// + /// 获取或设置当前报警灯控件底部的高度信息,如果小于0,则表示百分比,如果大于1,则表示绝对像素单位 + /// + // Token: 0x170001B0 RID: 432 + // (get) Token: 0x06000575 RID: 1397 RVA: 0x00035CC2 File Offset: 0x00033EC2 + // (set) Token: 0x06000576 RID: 1398 RVA: 0x00035CCA File Offset: 0x00033ECA + [Browsable(true)] + [Description("获取或设置当前报警灯控件底部的高度信息,如果小于0,则表示百分比,如果大于1,则表示绝对像素单位")] + [Category("HslControls")] + [DefaultValue(0.1f)] + public float ButtonHeight + { + get + { + return this.buttonHeight; + } + set + { + this.buttonHeight = value; + base.Invalidate(); + } + } + } +} diff --git a/Controls/Mesnac.Controls.ChemicalWeighing/Mesnac.Controls.ChemicalWeighing.csproj b/Controls/Mesnac.Controls.ChemicalWeighing/Mesnac.Controls.ChemicalWeighing.csproj index 4f9a8c8..aca2354 100644 --- a/Controls/Mesnac.Controls.ChemicalWeighing/Mesnac.Controls.ChemicalWeighing.csproj +++ b/Controls/Mesnac.Controls.ChemicalWeighing/Mesnac.Controls.ChemicalWeighing.csproj @@ -132,6 +132,12 @@ + + UserControl + + + HslLanternAlarm.cs + UserControl diff --git a/Main/MCEdit/Data/ComponentProperty.xml b/Main/MCEdit/Data/ComponentProperty.xml index 35427bc..79b6737 100644 --- a/Main/MCEdit/Data/ComponentProperty.xml +++ b/Main/MCEdit/Data/ComponentProperty.xml @@ -1622,8 +1622,20 @@ + + + + + + + + + + + + diff --git a/Main/MCEdit/Data/MCProject/nodeForm/Form1.xml b/Main/MCEdit/Data/MCProject/nodeForm/Form1.xml index 8bf25ec..8a8ef1a 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/Form1.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/Form1.xml @@ -1,6 +1,11 @@ + + 563, 216 + HslLanternAlarm1 + 29, 51 + AAEAAAD/////AQAAAAAAAAAMAgAAAEtNZXNuYWMuQ29udHJvbHMuQmFzZSwgVmVyc2lvbj0xLjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPW51bGwEAQAAAJMBU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWMuTGlzdGAxW1tNZXNuYWMuQ29udHJvbHMuQmFzZS5EZXNpZ25BY3Rpb24sIE1lc25hYy5Db250cm9scy5CYXNlLCBWZXJzaW9uPTEuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbF1dAwAAAAZfaXRlbXMFX3NpemUIX3ZlcnNpb24EAAAjTWVzbmFjLkNvbnRyb2xzLkJhc2UuRGVzaWduQWN0aW9uW10CAAAACAgJAwAAAAAAAAALAAAABwMAAAAAAQAAAAQAAAAEIU1lc25hYy5Db250cm9scy5CYXNlLkRlc2lnbkFjdGlvbgIAAAANBAs= diff --git a/Main/MCEdit/Data/MCProject/nodeForm/MainDetail.xml b/Main/MCEdit/Data/MCProject/nodeForm/MainDetail.xml index f77358b..b530ef6 100644 --- a/Main/MCEdit/Data/MCProject/nodeForm/MainDetail.xml +++ b/Main/MCEdit/Data/MCProject/nodeForm/MainDetail.xml @@ -1,6 +1,46 @@ + + 1850, 506 + HslLanternAlarm8 + 22, 31 + + + 1673, 506 + HslLanternAlarm7 + 22, 31 + + + 1530, 505 + HslLanternAlarm6 + 22, 31 + + + 1358, 505 + HslLanternAlarm5 + 22, 31 + + + 1289, 505 + HslLanternAlarm4 + 22, 31 + + + 1116, 505 + HslLanternAlarm3 + 22, 31 + + + 988, 505 + HslLanternAlarm2 + 22, 31 + + + 809, 505 + HslLanternAlarm1 + 22, 31 + diff --git a/Main/MCEdit/Data/SharpDevelopControlLibrary.xml b/Main/MCEdit/Data/SharpDevelopControlLibrary.xml index 0ac8221..4207726 100644 --- a/Main/MCEdit/Data/SharpDevelopControlLibrary.xml +++ b/Main/MCEdit/Data/SharpDevelopControlLibrary.xml @@ -114,6 +114,9 @@ + + +