Example #1
0
		public void VisitEnum(EnumData field)
		{
			if (FilterString(field, field.Name))
				return;
			foreach (var val in field.Values)
			{
				if (FilterString(field, val.Name))
					return;
			}
		}
Example #2
0
 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;
 }
Example #3
0
		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;
		}
Example #4
0
		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;
			}
		}
Example #5
0
 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;
 }
Example #6
0
        public void LeaveEnum()
        {
            if (_currentEnum == null)
                throw new InvalidOperationException("Cannot leave an enum if one isn't active");

            AddValue(_currentEnum);
            _currentEnum = null;
        }
Example #7
0
 public void VisitEnum(EnumData field)
 {
     FilterString(field, field.Name);
 }
 public void VisitEnum(EnumData field)
 {
 }
Example #9
0
 public void VisitEnum(EnumData field)
 {
     AddWidth(_enumControl.Width);
 }
Example #10
0
 public void VisitEnum(EnumData field)
 {
     if (FilterString(field, field.Name))
         return;
     if (FilterString(field, field.SelectedValue.Name))
         return;
 }