public void NavigateToClipboardUri() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.NavigateToClipboardUri, }); }
public void OpenAbout() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.OpenAbout, }); }
public void OpenSettings() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.OpenSettings, }); }
public void OpenDonate() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.OpenDonate, }); }
public void Send(NodeBase[] Data, CommAddress Address, ActionRequested Action) { WriteQueueElement el = new WriteQueueElement(Data, Address, Action); SendQueue.Enqueue(el); sendQueueWritten.Set(); }
public void OpenMiniView() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.OpenMiniView, }); }
public void OpenNowPlaying() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.OpenNowPlaying, }); }
public void PinToStart() { ActionRequested?.Invoke(this, new ActionRequestedEventArgs { Action = Model.Action.PinToStart, }); }
private void refreshFromPortalToolStripMenuItem_Click(object sender, EventArgs e) { var item = tvCodeItems.SelectedNode.Tag; if (item == null) { return; } ActionRequested?.Invoke(this, new RefreshContentEventArgs(item)); }
private void updateToolStripMenuItem_Click(object sender, EventArgs e) { var item = tvCodeItems.SelectedNode.Tag; if (item == null) { return; } var portalItem = item as EditablePortalItem; var epi = portalItem ?? ((CodeItem)item).Parent; ActionRequested?.Invoke(this, new UpdatePendingChangesEventArgs(new List <EditablePortalItem> { epi })); }
private void ContinuousRecognitionSessionOnResultGenerated(SpeechContinuousRecognitionSession sender, SpeechContinuousRecognitionResultGeneratedEventArgs args) { var result = args.Result; if (result.Status == SpeechRecognitionResultStatus.Success && result.Confidence == SpeechRecognitionConfidence.High) { var tags = result.Constraint.Tag.Split(';'); var actionName = tags[new Random().Next(tags.Length)]; var action = TinBotData.ActionsLib[actionName]; if (action != null) { ActionRequested?.Invoke(this, action); } } else { ActionRequested?.Invoke(this, new SavedAction("LPulseRed")); } }
public void SendCommand(NodeBase data, CommandParams cPar, ActionRequested how) { if (data != null) { Logger.getLogger().LogInfo("Sending command " + data.IecAddress); NodeData d = (NodeData)data.Parent; if (d != null) { NodeBase b, c; List <NodeData> ndar = new List <NodeData>(); //char *nameo[] = {"$Oper$ctlVal", "$Oper$origin$orCat", "$Oper$origin$orIdent", "$Oper$ctlNum", "$Oper$T", "$Oper$Test", "$Oper$Check"}; if ((b = d.FindChildNode("ctlVal")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = cPar.ctlVal; ndar.Add(n); } if ((b = d.FindChildNode("origin")) != null) { if (how == ActionRequested.WriteAsStructure) { NodeData n = new NodeData(b.Name); n.DataType = scsm_MMS_TypeEnum.structure; n.DataValue = 2; ndar.Add(n); if ((c = b.FindChildNode("orCat")) != null) { NodeData n2 = new NodeData(b.Name + "$" + c.Name); n2.DataType = ((NodeData)c).DataType; n2.DataValue = (long)cPar.orCat; n.AddChildNode(n2); } if ((c = b.FindChildNode("orIdent")) != null) { NodeData n2 = new NodeData(b.Name + "$" + c.Name); n2.DataType = ((NodeData)c).DataType; byte[] bytes = new byte[cPar.orIdent.Length]; int tmp1, tmp2; bool tmp3; Encoder ascii = (new ASCIIEncoding()).GetEncoder(); ascii.Convert(cPar.orIdent.ToCharArray(), 0, cPar.orIdent.Length, bytes, 0, cPar.orIdent.Length, true, out tmp1, out tmp2, out tmp3); n2.DataValue = bytes; n.AddChildNode(n2); } } else { if ((c = b.FindChildNode("orCat")) != null) { NodeData n = new NodeData(b.Name + "$" + c.Name); n.DataType = ((NodeData)c).DataType; n.DataValue = (long)cPar.orCat; ndar.Add(n); } if ((c = b.FindChildNode("orIdent")) != null) { NodeData n = new NodeData(b.Name + "$" + c.Name); n.DataType = ((NodeData)c).DataType; byte[] bytes = new byte[cPar.orIdent.Length]; int tmp1, tmp2; bool tmp3; Encoder ascii = (new ASCIIEncoding()).GetEncoder(); ascii.Convert(cPar.orIdent.ToCharArray(), 0, cPar.orIdent.Length, bytes, 0, cPar.orIdent.Length, true, out tmp1, out tmp2, out tmp3); n.DataValue = bytes; ndar.Add(n); } } } if ((b = d.FindChildNode("ctlNum")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; if (d.Name == "SBO" || d.Name == "SBOw") { n.DataValue = m_ctlNum; } else { n.DataValue = m_ctlNum++; } ndar.Add(n); } if ((b = d.FindChildNode("T")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; byte[] btm = new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; n.DataValue = btm; if (cPar.T != DateTime.MinValue) { if (d.Name == "Oper" && cPar.SBOdiffTime && cPar.SBOrun) { cPar.T.AddMilliseconds(cPar.SBOtimeout); } Scsm_MMS.ConvertToUtcTime(cPar.T, btm); } ndar.Add(n); } if ((b = d.FindChildNode("Test")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = cPar.Test; ndar.Add(n); } if ((b = d.FindChildNode("Check")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; byte sync = 0x80; byte intl = 0x40; byte check = 0; if (cPar.synchroCheck) { check |= sync; } if (cPar.interlockCheck) { check |= intl; } n.DataValue = new byte[] { check }; n.DataParam = ((NodeData)b).DataParam; ndar.Add(n); } iecs.Send(ndar.ToArray(), d.CommAddress, how); } else { Logger.getLogger().LogError("Basic structure for a command not found at " + data.IecAddress + "!"); } } }
private void CollectionMenuButton_Click(object sender, RoutedEventArgs e) { ActionRequested?.Invoke(NavigationView.Collection); }
private void llApplyChanges_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { ActionRequested?.Invoke(this, new UpdatePendingChangesEventArgs(portalItems.Where(p => p.HasPendingChanges))); }
private void searchButton_Click(object sender, RoutedEventArgs e) { ActionRequested?.Invoke(NavigationView.Search); searchButton.IsChecked = false; }
private void PlaylistsMenuButton_Click(object sender, RoutedEventArgs e) { ActionRequested?.Invoke(NavigationView.Playlists); }
async void DoSendCommandClick(object sender, ActionRequested how) { NodeBase data = (NodeBase)(sender as ToolStripItem).Tag; CommandParams cPar = ctrl.PrepareSendCommand(data); if (cPar != null) { CommandDialog cdlg = new CommandDialog(cPar); if (cdlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK) { if (cPar.SBOrun) { string sName = (cPar.CommandFlowFlag == CommandCtrlModel.Select_Before_Operate_With_Enhanced_Security) ? "SBOw" : "SBO"; NodeData d = (NodeData)data.Parent; NodeData op = null, sel = null; if (d != null) { if (d.Name == "SBOw" || d.Name == "SBO") { sName = "Oper"; sel = (NodeData)data; } else { op = (NodeData)data; } NodeBase dd = d.Parent; if (dd != null) { NodeData d2 = (NodeData)dd.FindChildNode(sName); if (d2 != null) { NodeData d3 = (NodeData)d2.FindChildNode("ctlVal"); if (d3 != null) { if (op == null) { op = d3; } else { sel = d3; } ctrl.SendCommand(sel, cPar, how); await PutTaskDelay(cPar.SBOtimeout); ctrl.SendCommand(op, cPar, how); } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, ctlVal not found in " + d2.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, " + sName + " not found in " + dd.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, null parent of " + d.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, null parent of " + data.IecAddress); } } else { ctrl.SendCommand(data, cPar, how); } } } }
public WriteQueueElement(NodeBase[] Data, CommAddress Address, ActionRequested Action) { this.Data = Data; this.Address = Address; this.Action = Action; }
private void cmsTreeview_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem == tsmiRefreshFromPortal) { var item = tvCodeItems.SelectedNode.Tag; if (item == null) { return; } ActionRequested?.Invoke(this, new RefreshContentEventArgs(item)); } else if (e.ClickedItem == tsmiUpdate) { var item = tvCodeItems.SelectedNode.Tag; if (item == null) { return; } var portalItem = item as EditablePortalItem; var epi = portalItem ?? ((CodeItem)item).Parent; ActionRequested?.Invoke(this, new UpdatePendingChangesEventArgs(new List <EditablePortalItem> { epi })); } else if (e.ClickedItem == tsmiCreateNewItem) { var node = tvCodeItems.SelectedNode; while (node.Parent != null) { node = node.Parent; } if (tvCodeItems.SelectedNode.Name == "WebTemplate") { var dialog = new NewWebTemplateForm(Service, node.Tag as EntityReference); if (dialog.ShowDialog(this) == DialogResult.OK) { var newTemplate = new WebTemplate(dialog.Template); newTemplate.Code.StateChanged += JavaScript_StateChanged; var newNode = new TreeNode(newTemplate.Name) { Tag = newTemplate.Code }; newTemplate.Code.Node = newNode; tvCodeItems.SelectedNode.Nodes.Add(newNode); tvCodeItems.Sort(); ApplyCounting(node, "WebTemplate"); } } else if (tvCodeItems.SelectedNode.Name == "Html") { var dialog = new NewContentSnippetForm(756150001, Service, node.Tag as EntityReference, Languages); if (dialog.ShowDialog(this) == DialogResult.OK) { var newContentSnippet = new ContentSnippet(dialog.Template); newContentSnippet.Code.StateChanged += JavaScript_StateChanged; var newNode = new TreeNode(newContentSnippet.Name) { Tag = newContentSnippet.Code }; newContentSnippet.Code.Node = newNode; tvCodeItems.SelectedNode.Nodes.Add(newNode); tvCodeItems.Sort(); CountContentSnippet(node); } } else if (tvCodeItems.SelectedNode.Name == "Text") { var dialog = new NewContentSnippetForm(756150000, Service, node.Tag as EntityReference, Languages); if (dialog.ShowDialog(this) == DialogResult.OK) { var newContentSnippet = new ContentSnippet(dialog.Template); newContentSnippet.Code.StateChanged += JavaScript_StateChanged; var newNode = new TreeNode(newContentSnippet.Name) { Tag = newContentSnippet.Code }; newContentSnippet.Code.Node = newNode; tvCodeItems.SelectedNode.Nodes.Add(newNode); tvCodeItems.Sort(); CountContentSnippet(node); } } } }
public async void PrepareSendCommand(NodeBase data, CommandParams cPar, ActionRequested how) { if (cPar.SBOrun) { string sName = (cPar.CommandFlowFlag == CommandCtrlModel.Select_Before_Operate_With_Enhanced_Security) ? "SBOw" : "SBO"; NodeData d = (NodeData)data.Parent; NodeData op = null, sel = null; if (d != null) { if (d.Name == "SBOw" || d.Name == "SBO") { sName = "Oper"; sel = (NodeData)data; } else { op = (NodeData)data; } NodeBase dd = d.Parent; if (dd != null) { NodeData d2 = (NodeData)dd.FindChildNode(sName); if (d2 != null) { NodeData d3 = (NodeData)d2.FindChildNode("ctlVal"); if (d3 != null) { if (op == null) { op = d3; } else { sel = d3; } SendCommand(sel, cPar, how); await PutTaskDelay(cPar.SBOtimeout); SendCommand(op, cPar, how); } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, ctlVal not found in " + d2.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, " + sName + " not found in " + dd.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, null parent of " + d.IecAddress); } } else { Logger.getLogger().LogWarning("Cannot send SBO command sequence, null parent of " + data.IecAddress); } } else { SendCommand(data, cPar, how); } }
private void StartMenuButton_Click(object sender, RoutedEventArgs e) { ActionRequested?.Invoke(NavigationView.Home); }
private void pbOpenPluginsStore_Click(object sender, System.EventArgs e) { ActionRequested?.Invoke(this, new PluginsListEventArgs(PluginsListAction.OpenPluginsStore)); }
private void SendCommand(NodeBase data, Iec61850State iecs, ActionRequested how) { if (data != null) { NodeData d = (NodeData)data.Parent; if (d != null) { NodeBase b, c; CommandParams cPar = new CommandParams(); cPar.CommType = CommandType.SingleCommand; if ((b = d.FindChildNode("ctlVal")) != null) { cPar.DataType = ((NodeData)b).DataType; cPar.Address = b.Address; cPar.ctlVal = ((NodeData)b).DataValue; } cPar.T = DateTime.MinValue; cPar.interlockCheck = true; cPar.synchroCheck = true; cPar.orCat = OrCat.STATION_CONTROL; cPar.orIdent = "IEDEXPLORER"; //cPar.orIdent = "ET03: 192.168.001.001 R001 K189 Origin:128"; cPar.CommandFlowFlag = CommandCtrlModel.Unknown; b = data; List <string> path = new List <string>(); do { b = b.Parent; path.Add(b.Name); } while (!(b is NodeFC)); path[0] = "ctlModel"; path[path.Count - 1] = "CF"; b = b.Parent; for (int i = path.Count - 1; i >= 0; i--) { if ((b = b.FindChildNode(path[i])) == null) { break; } } if (b != null) { if (b is NodeData) { cPar.CommandFlowFlag = (CommandCtrlModel)((long)((b as NodeData).DataValue)); } } CommandDialog dlg = new CommandDialog(cPar); DialogResult res = dlg.ShowDialog(this); if (res == DialogResult.Cancel) { return; } List <NodeData> ndar = new List <NodeData>(); //char *nameo[] = {"$Oper$ctlVal", "$Oper$origin$orCat", "$Oper$origin$orIdent", "$Oper$ctlNum", "$Oper$T", "$Oper$Test", "$Oper$Check"}; if ((b = d.FindChildNode("ctlVal")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = cPar.ctlVal; ndar.Add(n); } if ((b = d.FindChildNode("origin")) != null) { if (how == ActionRequested.WriteAsStructure) { NodeData n = new NodeData(b.Name); n.DataType = scsm_MMS_TypeEnum.structure; n.DataValue = 2; ndar.Add(n); if ((c = b.FindChildNode("orCat")) != null) { NodeData n2 = new NodeData(b.Name + "$" + c.Name); n2.DataType = ((NodeData)c).DataType; n2.DataValue = (long)cPar.orCat; n.AddChildNode(n2); } if ((c = b.FindChildNode("orIdent")) != null) { NodeData n2 = new NodeData(b.Name + "$" + c.Name); n2.DataType = ((NodeData)c).DataType; byte[] bytes = new byte[cPar.orIdent.Length]; int tmp1, tmp2; bool tmp3; Encoder ascii = (new ASCIIEncoding()).GetEncoder(); ascii.Convert(cPar.orIdent.ToCharArray(), 0, cPar.orIdent.Length, bytes, 0, cPar.orIdent.Length, true, out tmp1, out tmp2, out tmp3); n2.DataValue = bytes; n.AddChildNode(n2); } } else { if ((c = b.FindChildNode("orCat")) != null) { NodeData n = new NodeData(b.Name + "$" + c.Name); n.DataType = ((NodeData)c).DataType; n.DataValue = (long)cPar.orCat; ndar.Add(n); } if ((c = b.FindChildNode("orIdent")) != null) { NodeData n = new NodeData(b.Name + "$" + c.Name); n.DataType = ((NodeData)c).DataType; byte[] bytes = new byte[cPar.orIdent.Length]; int tmp1, tmp2; bool tmp3; Encoder ascii = (new ASCIIEncoding()).GetEncoder(); ascii.Convert(cPar.orIdent.ToCharArray(), 0, cPar.orIdent.Length, bytes, 0, cPar.orIdent.Length, true, out tmp1, out tmp2, out tmp3); n.DataValue = bytes; ndar.Add(n); } } } if ((b = d.FindChildNode("ctlNum")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = m_ctlNum++; ndar.Add(n); } if ((b = d.FindChildNode("T")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; byte[] btm = new byte[] { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }; n.DataValue = btm; if (cPar.T != DateTime.MinValue) { int t = (int)Scsm_MMS.ConvertToUnixTimestamp(cPar.T); byte[] uib = BitConverter.GetBytes(t); btm[0] = uib[3]; btm[1] = uib[2]; btm[2] = uib[1]; btm[3] = uib[0]; } ndar.Add(n); } if ((b = d.FindChildNode("Test")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = false; ndar.Add(n); } if ((b = d.FindChildNode("Check")) != null) { NodeData n = new NodeData(b.Name); n.DataType = ((NodeData)b).DataType; n.DataValue = new byte[] { 0x40 }; n.DataParam = ((NodeData)b).DataParam; ndar.Add(n); } iecs.Send(ndar.ToArray(), d.CommAddress, how); } else { MessageBox.Show("Basic structure not found!"); } } }