public void VisitEnum(EnumData field) { if (FilterString(field, field.Name)) return; foreach (var val in field.Values) { if (FilterString(field, val.Name)) return; } }
public override MetaField CloneValue() { EnumData result = new EnumData(Name, Offset, FieldAddress, _type, _value, base.PluginLine); foreach (EnumValue option in Values) { EnumValue copiedValue = new EnumValue(option.Name, option.Value); result.Values.Add(copiedValue); if (_selectedValue != null && copiedValue.Value == _selectedValue.Value) result._selectedValue = copiedValue; } return result; }
public void VisitEnum(EnumData field) { SeekToOffset(field.Offset); switch (field.Type) { case EnumType.Enum8: field.Value = _reader.ReadSByte(); break; case EnumType.Enum16: field.Value = _reader.ReadInt16(); break; case EnumType.Enum32: field.Value = _reader.ReadInt32(); break; } // Search for the corresponding option and select it EnumValue selected = null; foreach (EnumValue option in field.Values) { // Typecast the field value and the option value based upon the enum type switch (field.Type) { case EnumType.Enum8: if ((sbyte) option.Value == (sbyte) field.Value) selected = option; break; case EnumType.Enum16: if ((short) option.Value == (short) field.Value) selected = option; break; case EnumType.Enum32: if (option.Value == field.Value) selected = option; break; } if (selected != null) break; } if (selected == null) { // Nothing matched, so just add an option for it selected = new EnumValue(field.Value.ToString(), field.Value); field.Values.Add(selected); } field.SelectedValue = selected; }
public void VisitEnum(EnumData field) { SeekToOffset(field.Offset); switch (field.Type) { case EnumType.Enum8: _writer.WriteSByte((sbyte) field.Value); break; case EnumType.Enum16: _writer.WriteInt16((short) field.Value); break; case EnumType.Enum32: _writer.WriteInt32(field.Value); break; } }
private bool EnterEnum(EnumType type, string name, uint offset, bool visible, uint pluginLine) { if (visible || _showInvisibles) { _currentEnum = new EnumData(name, offset, 0, type, 0, pluginLine); return true; } return false; }
public void LeaveEnum() { if (_currentEnum == null) throw new InvalidOperationException("Cannot leave an enum if one isn't active"); AddValue(_currentEnum); _currentEnum = null; }
public void VisitEnum(EnumData field) { FilterString(field, field.Name); }
public void VisitEnum(EnumData field) { }
public void VisitEnum(EnumData field) { AddWidth(_enumControl.Width); }
public void VisitEnum(EnumData field) { if (FilterString(field, field.Name)) return; if (FilterString(field, field.SelectedValue.Name)) return; }