private void Refresh7LEDSets()
 {
     for (int i = 0; i < dataGridView5.Rows.Count; i++)
     {
         LED7DisplayOutputSet dos = (LED7DisplayOutputSet)dataGridView5.Rows[i].Tag;
         dataGridView5.Rows[i].Cells[dataGridViewTextBoxColumn13.Index].Value = dos.OutsIDs();
     }
 }
 void EdytujToolStripMenuItemClick(object sender, EventArgs e)
 {
     // edytuj zbiór wyświetlaczy
     if (dataGridView5.CurrentRow != null)
     {
         LED7DisplayOutputSet dose           = (LED7DisplayOutputSet)dataGridView5.CurrentRow.Tag;
         AddEditLED7DisplayOutputSetDialog d = new AddEditLED7DisplayOutputSetDialog(Configuration, dose);
         if (d.ShowDialog(this) == DialogResult.OK)
         {
             ShowDisplays7LEDSets();
         }
     }
 }
 void UsuńToolStripMenuItemClick(object sender, EventArgs e)
 {
     // usuń zbiór wyświetlaczy
     if (dataGridView5.CurrentRow != null)
     {
         LED7DisplayOutputSet dos = (LED7DisplayOutputSet)dataGridView5.CurrentRow.Tag;
         if (MessageBox.Show(this, "Czy napewno chcesz usunąć grupę wyświetlaczy 7-LED '" + dos.ID + "' ?", "Pytanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             List <LED7DisplayOutput> doses = new List <LED7DisplayOutput>(Configuration.LED7DisplayOutputs);
             doses.Remove(dos);
             Configuration.LED7DisplayOutputs = doses.ToArray();
             dataGridView5.Rows.Remove(dataGridView5.CurrentRow);
             dataGridView5.Refresh();
         }
     }
 }
        void DataGridView5CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex > -1)
            {
                LED7DisplayOutputSet dio = (LED7DisplayOutputSet)dataGridView5.Rows[e.RowIndex].Tag;
                if (e.ColumnIndex == dataGridViewTextBoxColumn11.Index)
                {
                    dio.ID = (string)dataGridView5.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
                    return;
                }

                if (e.ColumnIndex == dataGridViewTextBoxColumn12.Index)
                {
                    dio.Description = (string)dataGridView5.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
                    return;
                }
            }
        }
Beispiel #5
0
        public static LED7DisplayOutputSet Load(LED7DisplayOutput [] displays, XmlNode xml)
        {
            LED7DisplayOutputSet result = new LED7DisplayOutputSet();

            result.ID          = xml.Attributes["id"].Value;
            result.Description = xml.Attributes["description"].Value;
            List <Display> outputs = new List <Display>();
            XmlNodeList    nodes   = xml.SelectNodes("display");

            if (nodes != null)
            {
                foreach (XmlNode node in nodes)
                {
                    string            id    = node.Attributes["id"].Value;
                    int               index = int.Parse(node.Attributes["index"].Value);
                    LED7DisplayOutput dio   = Array.Find <LED7DisplayOutput>(displays, delegate(LED7DisplayOutput o)
                    {
                        return(o.ID == id);
                    });
                    if (dio == null)
                    {
                        throw new Exception("Brak zdefiniowanego wyświetlacza '" + id + "'.");
                    }

                    outputs.Add(new Display()
                    {
                        LED7Display = dio,
                        Index       = index
                    });
                }
            }
            result.Displays = outputs.ToArray();

            result.Align        = (Align)Enum.Parse(typeof(Align), xml.Attributes["align"].Value);
            result.Trim         = (Trim)Enum.Parse(typeof(Trim), xml.Attributes["trim"].Value);
            result.Append       = (Append)Enum.Parse(typeof(Append), xml.Attributes["append"].Value);
            result.AppendString = xml.Attributes["appendString"].Value;
            if (result.Append != Append.None && result.AppendString.Length == 0)
            {
                throw new Exception("Ustawiono dopełnianie tekstu ale nie ustawiono łańcucha dopełniającego w grupie wyświetlaczy '" + result.ID + "'.");
            }

            return(result);
        }
        public static ModulesConfiguration Load()
        {
            if (__instance == null)
            {
                if (!File.Exists(ConfigurationFilePath))
                {
                    throw new FileNotFoundException(ConfigurationFilePath);
                }
                ModulesConfiguration c   = new ModulesConfiguration();
                XmlDocument          xml = new XmlDocument();
                xml.Load(ConfigurationFilePath);

                // zmienna pomocnicza
                Device f = null;


                // wczytanie urządzeń
                List <Device> devices = new List <Device>();
                XmlNodeList   nodes   = xml.SelectNodes("configuration/devices/device");
                foreach (XmlNode node in nodes)
                {
                    Device d = Device.Load(node);
                    f = devices.Find(delegate(Device o)
                    {
                        return(o.Id == d.Id);
                    });
                    if (f == null)
                    {
                        devices.Add(Device.Load(node));
                    }
                    else
                    {
                        throw new Exception("Istnieje już urządzenie o identyfikatorze '" + d.Id + "'.");
                    }
                }

                c.Devices = devices.ToArray();


                // wczytanie konfiguracji wyjść cyfrowych
                List <DigitalOutput> outputs = new List <DigitalOutput>();
                nodes = xml.SelectNodes("configuration/digitalOutputs/output");
                foreach (XmlNode node in nodes)
                {
                    DigitalOutput output = DigitalOutput.Load(node);

                    // znalezienie urządzenia

                    f = devices.Find(delegate(Device o)
                    {
                        return(o.Id == output.DeviceId);
                    });
                    if (f == null)
                    {
                        throw new Exception("Konfiguracja nie zawiera informacji o urządzeniu z identyfikatorem '" + output.DeviceId + "'.");
                    }

                    output.Device = f;

                    outputs.Add(output);
                }
                c.DigitalOutputs = outputs.ToArray();

                // wczytanie konfiguracji zbiorów wyjść cyfrowych
                nodes = xml.SelectNodes("configuration/digitalOutputs/outputSet");
                foreach (XmlNode node in nodes)
                {
                    DigitalOutputSet dos = DigitalOutputSet.Load(c.DigitalOutputs, node);
                    outputs.Add(dos);
                }
                c.DigitalOutputs = outputs.ToArray();


                // wczytanie konfiguracji wejść cyfrowych
                List <DigitalInput> inputs = new List <DigitalInput>();
                nodes = xml.SelectNodes("configuration/digitalInputs/input");
                foreach (XmlNode node in nodes)
                {
                    DigitalInput input = DigitalInput.Load(node);

                    // znalezienie urządzenia

                    f = devices.Find(delegate(Device o)
                    {
                        return(o.Id == input.DeviceId);
                    });
                    if (f == null)
                    {
                        throw new Exception("Konfiguracja nie zawiera informacji o urządzeniu z identyfikatorem '" + input.DeviceId + "'.");
                    }

                    input.Device = f;

                    inputs.Add(input);
                }

                c.DigitalInputs = inputs.ToArray();

                // wczytanie konfiguracji enkoderów
                List <Encoder> encoders = new List <Encoder>();
                nodes = xml.SelectNodes("configuration/encoders/encoder");
                foreach (XmlNode node in nodes)
                {
                    Encoder e = Encoder.Load(c.DigitalInputs, node);
                    encoders.Add(e);
                }
                c.Encoders = encoders.ToArray();

                // wczytanie konfiguracji wyświetlaczy 7-led
                List <LED7DisplayOutput> ledOutputs = new List <LED7DisplayOutput>();
                nodes = xml.SelectNodes("configuration/displays7LED/display");
                foreach (XmlNode node in nodes)
                {
                    LED7DisplayOutput output = LED7DisplayOutput.Load(node);

                    // znalezienie urządzenia

                    f = devices.Find(delegate(Device o)
                    {
                        return(o.Id == output.DeviceId);
                    });
                    if (f == null)
                    {
                        throw new Exception("Konfiguracja nie zawiera informacji o urządzeniu z identyfikatorem '" + output.DeviceId + "'.");
                    }

                    output.Device = f;

                    ledOutputs.Add(output);
                }

                // sprawdzenie czy jakaś nazwa się nie powtarza
                foreach (DigitalOutput digo in outputs)
                {
                    int index = ledOutputs.Count;
                    while (index-- > 0)
                    {
                        if (ledOutputs[index].ID == digo.ID)
                        {
                            ledOutputs.RemoveAt(index);
                        }
                    }
                }

                c.LED7DisplayOutputs = ledOutputs.ToArray();

                // wczytanie konfiguracji zbiorów wyświetlaczy
                nodes = xml.SelectNodes("configuration/displays7LED/displaySet");
                foreach (XmlNode node in nodes)
                {
                    LED7DisplayOutputSet dos = LED7DisplayOutputSet.Load(c.LED7DisplayOutputs, node);
                    ledOutputs.Add(dos);
                }
                c.LED7DisplayOutputs = ledOutputs.ToArray();

                // wczytanie słownika dla wyświetlaczy 7-led
                LED7DisplaysDictionary.Load(xml.SelectSingleNode("configuration/displays7LEDDictionary"));

                CreateOrDeletePeripherals(c);

                __instance = c;
            }
            return(__instance);
        }
        public static void CreateOrDeletePeripherals(ModulesConfiguration configuration)
        {
            if (configuration.Devices != null)
            {
                List <DigitalInput>      inputs   = new List <DigitalInput>();
                List <DigitalOutput>     outputs  = new List <DigitalOutput>();
                List <LED7DisplayOutput> displays = new List <LED7DisplayOutput>();
                List <Encoder>           encoders = new List <Encoder>();
                foreach (Device d in configuration.Devices)
                {
                    // znalezienie wszystkich wejść tego urządzenia
                    List <DigitalInput> dis = new List <DigitalInput>();
                    if (configuration.DigitalInputs != null)
                    {
                        foreach (DigitalInput di in configuration.DigitalInputs)
                        {
                            if (di.DeviceId == d.Id && di.Index >= 0 && di.Index < d.Type.DigitalInputs)
                            {
                                DigitalInput ddd = dis.Find(delegate(DigitalInput o)
                                {
                                    return(o.Index == di.Index);
                                });
                                if (ddd == null)
                                {
                                    dis.Add(di);
                                }
                            }
                        }
                    }
                    // dodanie brakujących
                    for (int i = 0; i < d.Type.DigitalInputs; i++)
                    {
                        if (dis.Find(delegate(DigitalInput o)
                        {
                            return(o.Index == i);
                        }) == null)
                        {
                            dis.Add(new DigitalInput()
                            {
                                DeviceId       = d.Id,
                                Device         = d,
                                Index          = i,
                                ID             = string.Format("{0}:input_{1}", d.Id, i.ToString("000")),
                                Description    = "Cyfrowe wejście",
                                Repeat         = false,
                                RepeatAfter    = 200,
                                RepeatInterval = 200,
                            });
                        }
                    }

                    inputs.AddRange(dis);

                    // sprawdzenie czy istnieją wszystkie wejścia dla enkoderów
                    if (configuration.Encoders != null)
                    {
                        List <DigitalInput> reserved = new List <DigitalInput>();
                        foreach (Encoder e in configuration.Encoders)
                        {
                            DigitalInput linput = inputs.Find(delegate(DigitalInput o)
                            {
                                return(o.ID == e.LeftInput.ID);
                            });
                            if (linput == null)
                            {
                                throw new Exception("Brak wejścia '" + e.LeftInput.ToString() + "' do obsługi enkodera.");
                            }

                            if (reserved.Contains(linput))
                            {
                                continue;
                            }

                            DigitalInput rinput = inputs.Find(delegate(DigitalInput o)
                            {
                                return(o.ID == e.RightInput.ID);
                            });
                            if (rinput == null)
                            {
                                throw new Exception("Brak wejścia '" + e.RightInput.ToString() + "' do obsługi enkodera.");
                            }

                            if (reserved.Contains(rinput))
                            {
                                continue;
                            }

                            reserved.Add(linput);
                            reserved.Add(rinput);
                            e.LeftInput  = linput;
                            e.RightInput = rinput;
                            encoders.Add(e);
                        }
                    }

                    // znalezienie wszystkich wyjść cyfrowych tego urządzenia
                    List <DigitalOutput> dos = new List <DigitalOutput>();
                    if (configuration.DigitalOutputs != null)
                    {
                        foreach (DigitalOutput di in configuration.DigitalOutputs)
                        {
                            if (di.DeviceId == d.Id && di.Index >= 0 && di.Index < d.Type.DigitalOutputs)
                            {
                                DigitalOutput ddd = dos.Find(delegate(DigitalOutput o)
                                {
                                    return(o.Index == di.Index);
                                });
                                if (ddd == null)
                                {
                                    dos.Add(di);
                                }
                            }
                        }
                    }
                    // dodanie brakujących
                    for (int i = 0; i < d.Type.DigitalOutputs; i++)
                    {
                        if (dos.Find(delegate(DigitalOutput o)
                        {
                            return(o.Index == i);
                        }) == null)
                        {
                            dos.Add(new DigitalOutput()
                            {
                                DeviceId    = d.Id,
                                Device      = d,
                                Index       = i,
                                ID          = string.Format("{0}:output_{1}", d.Id, i.ToString("000")),
                                Description = "Cyfrowe wyjście",
                            });
                        }
                    }

                    // sprawdzenie zbiorów wyjść
                    if (configuration.DigitalOutputs != null)
                    {
                        List <DigitalOutputSet> dosets = new List <DigitalOutputSet>();
                        foreach (DigitalOutput di in configuration.DigitalOutputs)
                        {
                            if (di is DigitalOutputSet)
                            {
                                DigitalOutputSet dose = (DigitalOutputSet)di;
                                if (dose.DigitalOutputs != null && dose.DigitalOutputs.Length > 0)
                                {
                                    List <DigitalOutput> doses = new List <DigitalOutput>(dose.DigitalOutputs);
                                    int index = doses.Count;
                                    while (index-- > 0)
                                    {
                                        // znalezienie wyjścia o danym id
                                        if (dos.Find(delegate(DigitalOutput digo)
                                        {
                                            return(digo.ID == doses[index].ID);
                                        }) == null)
                                        {
                                            doses.RemoveAt(index);
                                        }
                                    }

                                    if (doses.Count > 0)
                                    {
                                        dose.DigitalOutputs = doses.ToArray();
                                        dosets.Add(dose);
                                    }
                                }
                            }
                        }
                        dos.AddRange(dosets.ToArray());
                    }

                    outputs.AddRange(dos);

                    // znalezienie wszystkich wyświetlaczy 7led
                    List <LED7DisplayOutput> led7 = new List <LED7DisplayOutput>();
                    if (configuration.LED7DisplayOutputs != null)
                    {
                        foreach (LED7DisplayOutput di in configuration.LED7DisplayOutputs)
                        {
                            if (di.DeviceId == d.Id && di.Index >= 0 && di.Index < d.Type.Displays7LED)
                            {
                                LED7DisplayOutput ddd = led7.Find(delegate(LED7DisplayOutput o)
                                {
                                    return(o.Index == di.Index);
                                });
                                if (ddd == null)
                                {
                                    di.Device = d;
                                    led7.Add(di);
                                }
                            }
                        }
                    }
                    // dodanie brakujących
                    for (int i = 0; i < d.Type.Displays7LED; i++)
                    {
                        if (led7.Find(delegate(LED7DisplayOutput o)
                        {
                            return(o.Index == i);
                        }) == null)
                        {
                            led7.Add(new LED7DisplayOutput()
                            {
                                DeviceId    = d.Id,
                                Device      = d,
                                Index       = i,
                                ID          = string.Format("{0}:7ledDisplay_{1}", d.Id, i.ToString("000")),
                                Description = "Wyświetlacz 7-LED",
                            });
                        }
                    }

                    // sprawdzenie zbiorów wyjść
                    if (configuration.LED7DisplayOutputs != null)
                    {
                        List <LED7DisplayOutputSet> dosets = new List <LED7DisplayOutputSet>();
                        foreach (LED7DisplayOutput di in configuration.LED7DisplayOutputs)
                        {
                            if (di is LED7DisplayOutputSet)
                            {
                                LED7DisplayOutputSet dose = (LED7DisplayOutputSet)di;
                                if (dose.Displays != null && dose.Displays.Length > 0)
                                {
                                    List <Display> doses = new List <Display>(dose.Displays);
                                    int            index = doses.Count;
                                    while (index-- > 0)
                                    {
                                        // znalezienie wyjścia o danym id
                                        if (led7.Find(delegate(LED7DisplayOutput digo)
                                        {
                                            return(digo.ID == doses[index].LED7Display.ID);
                                        }) == null)
                                        {
                                            doses.RemoveAt(index);
                                        }
                                    }

                                    if (doses.Count > 0)
                                    {
                                        dose.Displays = doses.ToArray();
                                        dosets.Add(dose);
                                    }
                                }
                            }
                        }
                        led7.AddRange(dosets.ToArray());
                    }

                    displays.AddRange(led7);
                }

                configuration.DigitalInputs      = inputs.ToArray();
                configuration.Encoders           = encoders.ToArray();
                configuration.DigitalOutputs     = outputs.ToArray();
                configuration.LED7DisplayOutputs = displays.ToArray();
            }
        }
        void Button5Click(object sender, EventArgs e)
        {
            Device d = Selected;

            if (d != null)
            {
                if (MessageBox.Show(this, "Czy napewno chcesz usunąć urządzenie '" + d.Id + " - " + d.Description + "' i wszystkie jego peryferia ?", "Pytanie", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    // usunięcie urządzenia
                    List <Device> ds = new List <Device>(Configuration.Devices);
                    ds.Remove(d);
                    Configuration.Devices = ds.ToArray();

                    // usunięcie wejść
                    List <DigitalInput> dis = new List <DigitalInput>(Configuration.DigitalInputs);
                    int index = dis.Count;
                    while (index-- > 0)
                    {
                        if (dis[index].Device == d)
                        {
                            dis.RemoveAt(index);
                        }
                    }
                    Configuration.DigitalInputs = dis.ToArray();

                    // usunięcie enkoderów
                    List <Encoder> encoders = new List <Encoder>(Configuration.Encoders);
                    index = encoders.Count;
                    while (index-- > 0)
                    {
                        DigitalInput di = dis.Find(delegate(DigitalInput o)
                        {
                            return(o == encoders[index].LeftInput);
                        });
                        if (di == null)
                        {
                            encoders.RemoveAt(index);
                            continue;
                        }
                        di = dis.Find(delegate(DigitalInput o)
                        {
                            return(o == encoders[index].RightInput);
                        });
                        if (di == null)
                        {
                            encoders.RemoveAt(index);
                            continue;
                        }
                    }
                    Configuration.Encoders = encoders.ToArray();

                    // usunięcie wyjść cyfrowych
                    List <DigitalOutput> dos = new List <DigitalOutput>(Configuration.DigitalOutputs);
                    index = dos.Count;
                    while (index-- > 0)
                    {
                        if (!(dos[index] is DigitalOutputSet))
                        {
                            if (dos[index].Device == d)
                            {
                                dos.RemoveAt(index);
                            }
                        }
                    }
                    index = dos.Count;
                    while (index-- > 0)
                    {
                        if (dos[index] is DigitalOutputSet)
                        {
                            DigitalOutputSet     dose  = (DigitalOutputSet)dos[index];
                            List <DigitalOutput> doses = new List <DigitalOutput>(dose.DigitalOutputs);
                            int index2 = doses.Count;
                            while (index2-- > 0)
                            {
                                if (doses[index2].Device == d)
                                {
                                    doses.RemoveAt(index2);
                                }
                            }
                            if (doses.Count > 0)
                            {
                                dose.DigitalOutputs = doses.ToArray();
                            }
                            else
                            {
                                dos.RemoveAt(index);
                            }
                        }
                    }
                    Configuration.DigitalOutputs = dos.ToArray();

                    // usunięcie wyświetlaczy
                    List <LED7DisplayOutput> disps = new List <LED7DisplayOutput>(Configuration.LED7DisplayOutputs);
                    index = disps.Count;
                    while (index-- > 0)
                    {
                        if (!(disps[index] is LED7DisplayOutputSet))
                        {
                            if (disps[index].Device == d)
                            {
                                disps.RemoveAt(index);
                            }
                        }
                    }
                    index = disps.Count;
                    while (index-- > 0)
                    {
                        if (disps[index] is LED7DisplayOutputSet)
                        {
                            LED7DisplayOutputSet dose  = (LED7DisplayOutputSet)disps[index];
                            List <Display>       doses = new List <Display>(dose.Displays);
                            int index2 = doses.Count;
                            while (index2-- > 0)
                            {
                                if (doses[index2].LED7Display.Device == d)
                                {
                                    doses.RemoveAt(index2);
                                }
                            }
                            if (doses.Count > 0)
                            {
                                dose.Displays = doses.ToArray();
                            }
                            else
                            {
                                disps.RemoveAt(index);
                            }
                        }
                    }
                    Configuration.LED7DisplayOutputs = disps.ToArray();

                    RefreshConfiguration();
                }
            }
        }
        public AddEditLED7DisplayOutputSetDialog(ModulesConfiguration configuration, LED7DisplayOutputSet led7DisplayOutputSet)
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();

            _configuration       = configuration;
            LED7DisplayOutputSet = led7DisplayOutputSet;

            comboBox1.Items.Add(Align.Left);
            comboBox1.Items.Add(Align.Center);
            comboBox1.Items.Add(Align.Right);
            comboBox1.SelectedItem = Align.Left;
            comboBox2.Items.Add(Trim.Left);
            comboBox2.Items.Add(Trim.Right);
            comboBox2.SelectedItem = Trim.Right;
            comboBox3.Items.Add(Append.None);
            comboBox3.Items.Add(Append.Left);
            comboBox3.Items.Add(Append.Right);
            comboBox3.SelectedItem = Append.None;

            foreach (LED7DisplayOutput dos in _configuration.LED7DisplayOutputs)
            {
                if (!(dos is LED7DisplayOutputSet))
                {
                    listBox1.Items.Add(new Output()
                    {
                        DO = dos
                    });
                }
            }

            if (LED7DisplayOutputSet == null)
            {
                Text = "Dodaj nową grupę wyświetlaczy 7-LED";
            }
            else
            {
                Text = "Edytuj grupę wyświetlaczy 7-LED";
                Array.Sort(LED7DisplayOutputSet.Displays);
                for (int i = 0; i < LED7DisplayOutputSet.Displays.Length; i++)
                {
                    for (int j = 0; j < listBox1.Items.Count; j++)
                    {
                        if (LED7DisplayOutputSet.Displays[i].LED7Display == ((Output)listBox1.Items[j]).DO)
                        {
                            Output o = (Output)listBox1.Items[j];
                            listBox1.Items.Remove(o);
                            listBox2.Items.Add(o);
                            break;
                        }
                    }
                }
                textBox2.Text          = LED7DisplayOutputSet.ID;
                textBox1.Text          = LED7DisplayOutputSet.Description;
                comboBox1.SelectedItem = LED7DisplayOutputSet.Align;
                comboBox2.SelectedItem = LED7DisplayOutputSet.Trim;
                comboBox3.SelectedItem = LED7DisplayOutputSet.Append;
                textBox3.Text          = LED7DisplayOutputSet.AppendString;
            }
        }
        void Button1Click(object sender, EventArgs e)
        {
            string id = textBox2.Text;

            if (id == null || id.Trim().Length == 0)
            {
                MessageBox.Show(this, "Podany identyfikator jest niepoprawny.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox2.Focus();
                return;
            }

            string description = textBox1.Text;

            if (comboBox1.SelectedIndex == -1)
            {
                MessageBox.Show(this, "Nie wybrano rodzaju wyrównania.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                comboBox1.Focus();
                return;
            }
            Align align = (Align)comboBox1.SelectedItem;

            if (comboBox2.SelectedIndex == -1)
            {
                MessageBox.Show(this, "Nie wybrano rodzaju przycięcia.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                comboBox2.Focus();
                return;
            }
            Trim trim = (Trim)comboBox2.SelectedItem;

            if (comboBox3.SelectedIndex == -1)
            {
                MessageBox.Show(this, "Nie wybrano rodzaju dołączenia.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                comboBox3.Focus();
                return;
            }
            Append append       = (Append)comboBox3.SelectedItem;
            string appendString = textBox3.Text;

            if (append != Append.None && appendString.Length == 0)
            {
                MessageBox.Show(this, "Nie wpisano ciągu dołączanego.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                textBox3.Focus();
                return;
            }
            if (listBox2.Items.Count == 0)
            {
                MessageBox.Show(this, "Nie wybrano wyświetlaczy.", "Uwaga", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            List <Display> displays = new List <Display>();

            for (int i = 0; i < listBox2.Items.Count; i++)
            {
                Output o = (Output)listBox2.Items[i];
                displays.Add(new Display()
                {
                    LED7Display = o.DO,
                    Index       = i
                });
            }

            if (LED7DisplayOutputSet == null)
            {
                LED7DisplayOutputSet = new LED7DisplayOutputSet();
            }

            LED7DisplayOutputSet.ID           = id;
            LED7DisplayOutputSet.Description  = description;
            LED7DisplayOutputSet.Align        = align;
            LED7DisplayOutputSet.Trim         = trim;
            LED7DisplayOutputSet.Append       = append;
            LED7DisplayOutputSet.AppendString = appendString;
            LED7DisplayOutputSet.Displays     = displays.ToArray();
            DialogResult = DialogResult.OK;
            Close();
        }
Beispiel #11
0
 public static string FormatText(LED7DisplayOutputSet area, string text, out int start)
 {
     return(FormatText(area.Align, area.Trim, area.Append, area.AppendString, area.Displays.Length, text, out start));
 }