/// <summary> /// 지진해일 조작반 UDP 데이터 수신 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void recvUdpKey_ReceivedData(object sender, NCasUdpRecvEventArgs e) { byte[] tmpBuff = new byte[e.Len]; System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len); if (tmpBuff[5] != 13) { return; } NCasProtocolBase protoBase = NCasProtocolFactory.ParseFrame(tmpBuff); NCasProtocolTc148Sub13 protoSub13 = protoBase as NCasProtocolTc148Sub13; OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080]; MethodInvoker invoker = delegate() { orderView.SetKeyPlc(protoSub13); }; if (this.InvokeRequired) { this.Invoke(invoker); } else { invoker(); } }
/// <summary> /// 재난운영대에서 수신되는 데이터 리시브 이벤트 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void pDMainTcpServer_RecvNetSessionClient(object sender, NCasNetSessionRecvEventArgs e) { if (e.Len == 1) { return; } byte[] tmpBuff = new byte[e.Len]; System.Buffer.BlockCopy(e.Buff, 0, tmpBuff, 0, e.Len); XmlSerializer serializer = new XmlSerializer(typeof(DistIconDataContainer), new Type[] { typeof(DistIconData) }); string tmpStr = Encoding.UTF8.GetString(tmpBuff, 0, tmpBuff.Length); StringReader sr = new StringReader(tmpStr); DistIconDataContainer distIconDataContainer = (DistIconDataContainer)serializer.Deserialize(sr); DistIconMng.LstDistIconData = distIconDataContainer.LstDistIconData; DistIconMng.SaveDistIconDatas(); OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080]; MethodInvoker invoker = delegate() { orderView.SetDistIconReArrange(); }; if (this.InvokeRequired) { Invoke(invoker); } else { invoker(); } }
/// <summary> /// 생성자 /// </summary> /// <param name="orderview"></param> /// <param name="type">1-단말그룹, 2-시군그룹</param> public OrderGroupEditForm(OrderView19201080 orderview, byte type, NCasButton button) : this() { if (type == 2) { this.isTerm = false; } this.provInfo = orderview.ProvInfo; this.ncasButton = button; this.Init(); }
/// <summary> /// 각 ViewKind와 툴바를 매핑하는 작업 /// </summary> private void InitView() { //메인 화면 ViewBase coverViewBase = CoverView.CreateView(ViewKind.None, this); coverViewBase.ViewKind = ViewKind.None; coverViewBase.Dock = System.Windows.Forms.DockStyle.Fill; coverViewBase.Location = new System.Drawing.Point(0, 0); coverViewBase.Name = "coverView"; coverViewBase.Size = new System.Drawing.Size(1904, 937); this.middlePanel.Controls.Add(coverViewBase); this.dicViews.Add(ViewKind.None, coverViewBase); //경보발령 화면 ViewBase orderViewBase = OrderView19201080.CreateView(ViewKind.OrderView19201080, this); orderViewBase.Interval = 1000; orderViewBase.ViewKind = ViewKind.OrderView19201080; orderViewBase.Dock = System.Windows.Forms.DockStyle.Fill; orderViewBase.Location = new System.Drawing.Point(0, 0); orderViewBase.Name = "orderView"; orderViewBase.Size = new System.Drawing.Size(1904, 937); this.middlePanel.Controls.Add(orderViewBase); this.dicViews.Add(ViewKind.OrderView19201080, orderViewBase); //경보결과 화면 ViewBase resultViewBase = OrderResultView.CreateView(ViewKind.ResultView, this); resultViewBase.Interval = 1000; resultViewBase.ViewKind = ViewKind.ResultView; resultViewBase.Dock = System.Windows.Forms.DockStyle.Fill; resultViewBase.Location = new System.Drawing.Point(0, 0); resultViewBase.Name = "resultView"; resultViewBase.Size = new System.Drawing.Size(1904, 937); this.middlePanel.Controls.Add(resultViewBase); this.dicViews.Add(ViewKind.ResultView, resultViewBase); //장비감시 화면 ViewBase deviceMonViewBase = DeviceMonitorView.CreateView(ViewKind.DevMonView, this); deviceMonViewBase.Interval = 1000; deviceMonViewBase.ViewKind = ViewKind.DevMonView; deviceMonViewBase.Dock = System.Windows.Forms.DockStyle.Fill; deviceMonViewBase.Location = new System.Drawing.Point(0, 0); deviceMonViewBase.Name = "deviceMonitorView"; deviceMonViewBase.Size = new System.Drawing.Size(1904, 937); this.middlePanel.Controls.Add(deviceMonViewBase); this.dicViews.Add(ViewKind.DevMonView, deviceMonViewBase); this.btnOrderMenu.Tag = ViewKind.OrderView19201080; this.btnOrderResultMenu.Tag = ViewKind.ResultView; this.btnDevMonMenu.Tag = ViewKind.DevMonView; }
/// <summary> /// View를 생성하는 Factory method /// </summary> /// <param name="viewKind">ViewKind 종류</param> /// <param name="main">MainForm</param> /// <returns></returns> public static ViewBase CreateView(MainForm.ViewKind viewKind, MainForm main) { switch (viewKind) { case MainForm.ViewKind.None: CoverView cover = new CoverView(main); return(cover); case MainForm.ViewKind.OrderView19201080: OrderView19201080 order = new OrderView19201080(main); return(order); case MainForm.ViewKind.ResultView: OrderResultView result = new OrderResultView(main); return(result); case MainForm.ViewKind.DevMonView: DeviceMonitorView deviceMonitor = new DeviceMonitorView(main); return(deviceMonitor); default: return(new ViewBase(main)); } }
/// <summary> /// 그룹정보 리스트 클리어 메소드 /// </summary> public void SetGroupListClear() { OrderView19201080 orderView = (OrderView19201080)this.dicViews[ViewKind.OrderView19201080]; orderView.GroupNameLst.Clear(); }