Example #1
0
        private void dgvFields_SelectionChanged(object sender, EventArgs e)
        {
            AISField selField = (dgvFields.SelectedRows.Count > 0) ? (AISField)dgvFields.SelectedRows[0].DataBoundItem : null;

            propField.SelectedObject = selField;

            if (selField != null)
            {
                comboTypes.Enabled = true;
                comboTypes.Text    = selField.GetType().Name;
            }
            else
            {
                comboTypes.Enabled = false;
            }
        }
Example #2
0
        public AISExplorerForm(string fileName)
        {
            InitializeComponent();

            aisDefnCol          = AISDefnCollection.LoadFromFile(fileName);
            dgvDefns.DataSource = aisDefnCol.AisDefns;

            if (aisDefnCol.FileName != "")
            {
                this.Text = "AIS Explorer - " + aisDefnCol.FileName;
            }

            saveToolStripMenuItem.Enabled = (aisDefnCol.FileName != "");

            comboTypes.Items.AddRange(AISField.AllFieldTypes());

            anyChanges = false;
        }
Example #3
0
        private void comboTypes_SelectionChangeCommitted(object sender, EventArgs e)
        {
            BindingList <AISField> Fields = ((AISDefn)dgvDefns.SelectedRows[0].DataBoundItem).Fields;
            int fieldIndex = dgvFields.SelectedRows[0].Index;

            if (Fields[fieldIndex].GetType().Name != ((Type)comboTypes.SelectedItem).Name)
            {
                // Backup properties
                var tempDict = new Dictionary <string, object> {
                };
                PGNExplorerForm.UpdatePropertyValuesDict(ref tempDict, Fields[fieldIndex]);

                // Change object type
                Fields[fieldIndex] = AISField.CreateNewField((Type)comboTypes.SelectedItem);

                // Reload properties
                PGNExplorerForm.CopyTo(tempDict, Fields[fieldIndex]);

                // Update grids
                propField.SelectedObject = Fields[fieldIndex];
            }
        }