/// <summary> /// Gets the current value /// </summary> /// <typeparam name="T">Value type</typeparam> /// <param name="tag">Hex buffer tag, eg. <see cref="PredefinedHexBufferTags.File"/></param> /// <param name="option">Option</param> /// <returns></returns> public abstract T GetOptionValue <T>(string tag, VSTE.EditorOptionKey <T> option);
/// <summary> /// Writes a new value /// </summary> /// <typeparam name="T">Value type</typeparam> /// <param name="tag">Hex buffer tag, eg. <see cref="PredefinedHexBufferTags.File"/></param> /// <param name="option">Option</param> /// <param name="value">New value</param> public abstract void SetOptionValue <T>(string tag, VSTE.EditorOptionKey <T> option, T value);
public override void SetOptionValue <T>(string tag, VSTE.EditorOptionKey <T> option, T value) => SetOptionValue(tag, option.Name, value);
/// <summary> /// Returns true if the option is shared by all hex views in this group /// </summary> /// <typeparam name="T">Value type</typeparam> /// <param name="tag">Hex buffer tag, eg. <see cref="PredefinedHexBufferTags.File"/></param> /// <param name="option">Option</param> /// <returns></returns> public abstract bool HasOption <T>(string tag, VSTE.EditorOptionKey <T> option);
public override bool HasOption <T>(string tag, VSTE.EditorOptionKey <T> option) => HasOption(tag, option.Name);
public override T GetOptionValue <T>(string tag, VSTE.EditorOptionKey <T> option) => (T)GetOptionValue(tag, option.Name);
public void SetOptionValue <T>(VSTE.EditorOptionKey <T> key, T value) => SetOptionValue(key.Name, value);
public T GetOptionValue <T>(VSTE.EditorOptionKey <T> key) => (T)GetOptionValue(key.Name);
public bool ClearOptionValue <T>(VSTE.EditorOptionKey <T> key) => ClearOptionValue(key.Name);
public bool IsOptionDefined <T>(VSTE.EditorOptionKey <T> key, bool localScopeOnly) => IsOptionDefined(key.Name, localScopeOnly);
public OptionDefinition(string subGroup, VSTE.EditorOptionKey <T> option, T defaultValue) : base(option) { SubGroup = subGroup; DefaultValue = defaultValue; }