// Когда нажали на плагин private void Plugin_Clicked(object sender, RoutedEventArgs e) { Button thisBtn = (Button)e.Source; ChosenModuleName = thisBtn.Content.ToString(); // Очистить панель CleanPluginsParametersPanel(); // Отправить запрос на информацию по плагину string request = JsonConvert.SerializeObject(new GetPluginInfoRequest(thisBtn.Content.ToString())); Pipe.SendMessage(request); Pipe.ListenMessage(); string reply = Pipe.GetMessage(); Pipe.StopListening(); // Если такой модуль почему-то не запущен if (reply == null) { MessageBox.Show($"Error: Cant get plugin {thisBtn.Content.ToString()} info"); return; } // Парсим информацию о модулях JObject jPluginInfo = JObject.Parse(reply); foreach (var item in jPluginInfo) { List <string> value = new List <string>(); // Значение параметра string name = item.Key; // Имя параметра JToken jValue = item.Value; // Значение параметра в js // Если этот параметр является список if (jValue is JArray) { foreach (string param in jValue) { value.Add(param); } } else { value.Add(jValue.ToString()); } AddPluginParamToParametersPanel(name, value); } }
public void Main(Object sender, EventArgs e) { ContentRendered -= Main; LogManager = new LogManager(OutputHeader, RichTextBox1, AlertsHeader, RichTextBox2, WarningsHeader, RichTextBox3, DebugHeader, RichTextBox4); string reply = ""; string request = "ready"; Pipe.SendMessage(request); Pipe.ListenMessage(); reply = Pipe.GetMessage(500, 2); parseJSonMessage(reply); }