예제 #1
0
        public bool FahrstrasseSchalten(FahrstrasseK el)
        {
            bool action = false;

            if (this.AppTyp == AppTyp.Master)
            {
                _model.ElementToggeln(el.GetType().Name, el.ID);
                //action = _model.FahrstrasseSchalten(el, signal);
                //if (master != null) {
                //	master.SendeAnlageZustandsDatenAnAlle(this._model.AnlagenZustandsDatenAuslesen());
                //}
            }
            if (this.AppTyp == AppTyp.Slave)
            {
                if (slave != null)
                {
                    try {
                        slave.SlaveAnMasterMouseClick(el.GetType().Name, el.ID);
                    }
                    catch (Exception e) {
                    }
                }
                return(true);
            }
            return(action);
        }
예제 #2
0
 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (tabControl1.SelectedTab == this.tabPageKombiFs)
     {
         //this.menuStrip1.Enabled = false;
         this.dataGridView1.SelectionChanged                -= dataGridView1_SelectionChanged;
         this.dataGridView2.SelectionChanged                += dataGridView2_SelectionChanged;
         this.fahrstraßenSuchenToolStripMenuItem.Enabled     = false;
         this.alleFahrstraßenSuchenToolStripMenuItem.Enabled = false;
         foreach (FahrstrasseN el in _model.ZeichnenElemente.FahrstrassenElemente.AuswahlFahrstrassen)
         {
             el.Selektiert = false;
         }
         _model.ZeichnenElemente.FahrstrassenElemente.AuswahlFahrstrassen.Clear();
         //this.dataGridView2_SelectionChanged(this.dataGridView2, null);
         _model.OnAnlageNeuZeichnen();
     }
     else
     {
         //this.menuStrip1.Enabled = true;
         this.dataGridView1.SelectionChanged                += dataGridView1_SelectionChanged;
         this.dataGridView2.SelectionChanged                -= dataGridView2_SelectionChanged;
         this.fahrstraßenSuchenToolStripMenuItem.Enabled     = true;
         this.alleFahrstraßenSuchenToolStripMenuItem.Enabled = true;
         FahrstrasseK fskAlt = _model.ZeichnenElemente.FahrstrassenKElemente.Element(_ausgewählteKombiFahrstrasse);
         if (fskAlt != null)
         {
             fskAlt.Selektiert = false;
         }
         //this.dataGridView2_SelectionChanged(this.dataGridView2, null);
         _model.OnAnlageNeuZeichnen();
     }
 }
예제 #3
0
        private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            int column = e.ColumnIndex;

            if (column > 2)
            {
                DataGridViewRow  row    = ((DataGridView)sender).Rows[e.RowIndex];
                DataGridViewCell idCell = row.Cells[0];
                int id = (int)idCell.Value;

                FahrstrasseN fs = null;
                foreach (FahrstrasseN el in _fahrstrassenAnzeige.Fahrstrassen)
                {
                    if (el.ID == id)
                    {
                        fs = el;
                        break;
                    }
                }

                if (fs != null)
                {
                    BefehlsListe bListe = null;
                    Form         frm    = null;
                    if (column == 3)
                    {
                        bListe = new BefehlsListe(_model.ZeichnenElemente, false, (string)row.Cells[3].Value);
                        frm    = new FrmBefehlsliste(bListe, "Start Befehle");
                    }
                    else if (column == 4)
                    {
                        bListe = new BefehlsListe(_model.ZeichnenElemente, false, (string)row.Cells[4].Value);
                        frm    = new FrmBefehlsliste(bListe, "End Befehle");
                    }

                    if (bListe != null && frm != null)
                    {
                        FahrstrasseK fskAlt = _model.ZeichnenElemente.FahrstrassenKElemente.Element(_ausgewählteKombiFahrstrasse);
                        if (fskAlt != null)
                        {
                            fskAlt.Selektiert = false;
                        }
                        //this.dataGridView2_SelectionChanged(this.dataGridView2, null);
                        _model.OnAnlageNeuZeichnen();
                        frm.ShowDialog();
                        string newValue = bListe.ListenString.Trim().Replace(";", "");
                        if (column == 3)
                        {
                            row.Cells[3].Value = newValue.Replace(" ", "; ");
                        }
                        else if (column == 4)
                        {
                            row.Cells[4].Value = newValue.Replace(" ", "; ");;
                        }
                    }
                }
            }
        }
예제 #4
0
        private void dataGridView2_SelectionChanged(object sender, EventArgs e)
        {
            DataGridViewRow row = dataGridView2.CurrentRow;

            if (row != null)
            {
                int id = (int)row.Cells[0].Value;
                if (id != _ausgewählteKombiFahrstrasse)
                {
                    FahrstrasseK fskAlt = _model.ZeichnenElemente.FahrstrassenKElemente.Element(_ausgewählteKombiFahrstrasse);
                    if (fskAlt != null)
                    {
                        fskAlt.Selektiert = false;
                    }
                    _ausgewählteKombiFahrstrasse = id;
                    FahrstrasseK fskNeu = _model.ZeichnenElemente.FahrstrassenKElemente.Element(id);
                    fskNeu.Selektiert = true;
                    _model.OnAnlageNeuZeichnen();
                }
            }
        }
예제 #5
0
        private void fahrstraßenSpeichernToolStripMenuItem_Click(object sender, EventArgs e)
        {
            List <int> ids = new List <int>();

            foreach (DataRow row in _tabelle.Rows)
            {
                FahrstrasseN fs = null;
                int          id = (int)row[0];       //Convert.ToInt32(row[0]);
                ids.Add(id);

                foreach (FahrstrasseN el in _fahrstrassenAnzeige.Fahrstrassen)
                {
                    if (el.ID == id)
                    {
                        fs = el;
                        break;
                    }
                }

                fs.StartBefehleString = (string)row[3];
                fs.EndBefehleString   = (string)row[4];
            }

            for (int i = 0; i < _fahrstrassenAnzeige.Fahrstrassen.Count;)
            {
                if (ids.Contains(_fahrstrassenAnzeige.Fahrstrassen[i].ID))
                {
                    i++;
                }
                else
                {
                    _fahrstrassenAnzeige.Fahrstrassen.RemoveAt(i);
                }
            }

            List <int> kIds = new List <int>();

            foreach (DataRow row in _tabelleK.Rows)
            {
                FahrstrasseK fs = null;
                if ((string)row[3] == "")
                {
                    continue;
                }

                if (row[0].ToString() != "")
                {
                    int id = (int)row[0];                    //Convert.ToInt32(row[0]);
                    kIds.Add(id);

                    foreach (FahrstrasseK el in _fahrstrassenKAnzeige.Fahrstrassen)
                    {
                        if (el.ID == id)
                        {
                            fs = el;
                            break;
                        }
                    }
                    fs.FahrstrassenString = " FahrstrassenListe\t" + (string)row[3];
                    fs.BefehleString      = (string)row[4];
                }
                else
                {
                    int id = _model.ZeichnenElemente.FahrstrassenKElemente.SucheFreieNummer();
                    fs = new FahrstrasseK(
                        _model.ZeichnenElemente,
                        _model.ZeichnenElemente.Zoom,
                        MoBaSteuerung.Anlagenkomponenten.Enum.AnzeigeTyp.Bearbeiten,
                        new string[] { "", id.ToString() },
                        " FahrstrassenListe\t" + ((string)row[3]).Trim().Replace(";", "\t"),
                        " Befehle\t" + ((string)row[3]).Trim().Replace(";", "\t")
                        );
                    if (fs.StartSignal != null)
                    {
                        row[0] = id;
                        row[1] = fs.StartSignal.ID;
                        row[2] = fs.EndSignal.ID;

                        kIds.Add(id);
                    }
                }
            }

            for (int i = 0; i < _fahrstrassenKAnzeige.Fahrstrassen.Count;)
            {
                if (kIds.Contains(_fahrstrassenKAnzeige.Fahrstrassen[i].ID))
                {
                    i++;
                }
                else
                {
                    _fahrstrassenKAnzeige.Fahrstrassen.RemoveAt(i);
                }
            }
        }