Exemplo n.º 1
0
        // User deletes a row
        private void fieldslist_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            // Get the row
            FieldsEditorRow row = e.Row as FieldsEditorRow;

            if (row == null)
            {
                return;
            }

            // Fixed/uservar field?
            if (row.RowType == FieldsEditorRowType.FIXED || row.RowType == FieldsEditorRowType.USERVAR)
            {
                // Just undefine the field
                row.Undefine();
                e.Cancel = true;

                if (OnFieldUndefined != null)
                {
                    OnFieldUndefined(row.Name);
                }
            }
            else
            {
                if (OnFieldDeleted != null)
                {
                    OnFieldDeleted(row.Name);
                }
            }
        }
Exemplo n.º 2
0
        // User deletes a row
        private void fieldslist_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
        {
            // Get the row
            FieldsEditorRow row = e.Row as FieldsEditorRow;

            // Fixed field?
            if (row.IsFixed)
            {
                // Just undefine the field
                row.Undefine();
                e.Cancel = true;

                if (OnFieldUndefined != null)
                {
                    OnFieldUndefined(row.Name);
                }
            }
            else
            {
                if (OnFieldDeleted != null)
                {
                    OnFieldDeleted(row.Name);
                }
            }
        }
Exemplo n.º 3
0
 // This applies a value to a row
 private void ApplyValue(FieldsEditorRow frow, object value)
 {
     // Defined?
     if ((value != null) && (!frow.IsFixed || !frow.Info.Default.Equals(value)))
     {
         frow.Define(value);
     }
     else if (frow.IsFixed)
     {
         frow.Undefine();
     }
 }
Exemplo n.º 4
0
        // This applies a value to a row
        private void ApplyValue(FieldsEditorRow frow, object value)
        {
            // Defined?
            if ((value != null) && (frow.RowType == FieldsEditorRowType.DYNAMIC || frow.RowType == FieldsEditorRowType.USERVAR ||
                                    !frow.Info.Default.Equals(value)))
            {
                frow.Define(value);
            }
            else if (frow.RowType == FieldsEditorRowType.FIXED)
            {
                frow.Undefine();
            }

            if (OnFieldValueChanged != null)
            {
                OnFieldValueChanged(frow.Name);
            }
        }
Exemplo n.º 5
0
        // This applies a value to a row
        private void ApplyValue(FieldsEditorRow frow, object value)
        {
            // Defined?
            if (value != null
                &&
                (
                    !frow.IsFixed
                    ||
                    (frow.Info.Default == null || !frow.Info.Default.Equals(value))
                )
                )
            {
                frow.Define(value);
            }
            else if (frow.IsFixed)
            {
                frow.Undefine();
            }

            if (OnFieldValueChanged != null)
            {
                OnFieldValueChanged(frow.Name);
            }
        }
Exemplo n.º 6
0
        //mxd
        public void SetUserVars(Dictionary <string, UniversalType> vars, UniFields fromfields, bool first)
        {
            foreach (KeyValuePair <string, UniversalType> group in vars)
            {
                // Go for all rows
                bool        foundrow = false;
                TypeHandler vartype  = General.Types.GetFieldHandler((int)group.Value, 0);
                object      value    = fromfields.ContainsKey(group.Key) ? fromfields[group.Key].Value : vartype.GetDefaultValue();

                foreach (DataGridViewRow row in fieldslist.Rows)
                {
                    // Row is a field?
                    if (row is FieldsEditorRow)
                    {
                        FieldsEditorRow frow = row as FieldsEditorRow;

                        // Row name matches with user var?
                        if (frow.RowType == FieldsEditorRowType.USERVAR && frow.Name == group.Key)
                        {
                            // First time?
                            if (first)
                            {
                                frow.Define(value);
                            }
                            // Check if the value is different
                            else if (!frow.TypeHandler.GetValue().Equals(value))
                            {
                                // Clear the value in the row
                                frow.Define(value);
                                frow.Clear();
                            }

                            // Done
                            foundrow = true;
                            break;
                        }
                    }
                }

                // Row not found?
                if (!foundrow)
                {
                    // Make new row
                    object          defaultvalue = vartype.GetDefaultValue();
                    FieldsEditorRow frow         = new FieldsEditorRow(fieldslist, group.Key, (int)group.Value, defaultvalue, true);
                    if (!value.Equals(defaultvalue))
                    {
                        frow.Define(value);
                    }
                    fieldslist.Rows.Insert(fieldslist.Rows.Count - 1, frow);
                }
            }

            // Now check for rows that the givens fields do NOT have
            foreach (DataGridViewRow row in fieldslist.Rows)
            {
                // Row is a field?
                if (row is FieldsEditorRow)
                {
                    FieldsEditorRow frow = row as FieldsEditorRow;

                    // Don't undefine user var rows defined by other actor types
                    if (frow.RowType == FieldsEditorRowType.USERVAR || vars.ContainsKey(frow.Name))
                    {
                        continue;
                    }

                    // Is this row defined previously?
                    if (frow.IsDefined)
                    {
                        // Check if this row can not be found in the fields at all
                        if (!fromfields.ContainsKey(frow.Name))
                        {
                            // It is not defined in these fields, undefine the value
                            frow.Undefine();
                        }
                    }
                }
            }

            // Sort fields
            Sort();
        }