Beispiel #1
0
    private void MarkMany(MarkCommand.MarkManyProperty markProperty, int markStart, object markValue, int markCount)
    {
        var snesApi = Project.Data.GetSnesApi();

        if (snesApi == null)
        {
            return;
        }

        var newNavigatedOffset = markProperty switch
        {
            MarkCommand.MarkManyProperty.Flag => snesApi.MarkTypeFlag(markStart, (FlagType)markValue, markCount),
            MarkCommand.MarkManyProperty.DataBank => snesApi.MarkDataBank(markStart, (int)markValue, markCount),
            MarkCommand.MarkManyProperty.DirectPage => snesApi.MarkDirectPage(markStart, (int)markValue, markCount),
            MarkCommand.MarkManyProperty.MFlag => snesApi.MarkMFlag(markStart, (bool)markValue, markCount),
            MarkCommand.MarkManyProperty.XFlag => snesApi.MarkXFlag(markStart, (bool)markValue, markCount),
            MarkCommand.MarkManyProperty.CpuArch => snesApi.MarkArchitecture(markStart, (Architecture)markValue, markCount),
            _ => - 1
        };

        ProjectController.MarkChanged();

        if (moveWithStep && newNavigatedOffset != -1)
        {
            SelectOffset(newNavigatedOffset, new ISnesNavigation.HistoryArgs {
                Description = "Mark (multi)"
            });
        }
    }
Beispiel #2
0
        public MarkCommand PromptMarkMany(int offset, MarkCommand.MarkManyProperty property)
        {
            var markManyController = CreateMarkManyController(offset, property);
            var markCommand        = markManyController.GetMarkCommand();

            if (markCommand != null)
            {
                SavedMarkManySettings = markManyController.Settings;
            }

            return(markCommand);
        }
Beispiel #3
0
    public MarkManyController(int offset, MarkCommand.MarkManyProperty initialProperty, TDataSource data, IMarkManyView <TDataSource> view)
    {
        Data                    = data;
        MarkManyView            = view;
        MarkManyView.Controller = this;

        DataRange = new CorrectingRange(Data.GetRomSize());

        DataRange.StartIndex = offset;
        DataRange.RangeCount = Math.Min(
            DesiredStartingCount,
            DataRange.MaxCount - DataRange.StartIndex
            );

        MarkManyView.Property = initialProperty;
    }
Beispiel #4
0
    private void MarkMany(int offset, MarkCommand.MarkManyProperty property)
    {
        if (!RomDataPresent())
        {
            return;
        }

        var mark = PromptMarkMany(offset, property);

        if (mark == null)
        {
            return;
        }

        MarkMany(mark.Property, mark.Start, mark.Value, mark.Count);

        UpdateSomeUI2();
    }