Exemple #1
0
        // Когда нажали на плагин
        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);
        }