private void SetSize(object sender, EventArgs e) { int sizeTracks = Image.SizeTracks; if (!InputBox.InputInt32("", "Введите размер в треках", ref sizeTracks, 1, MainForm.MaxTrack)) { return; } Image.SetSize(sizeTracks * SectorsOnTrack); map.Repaint(); stats.Repaint(); Log.Info?.Out($"Размер образа установлен: {sizeTracks} треков."); }
private void MarkSelectionAsGood_Click(object sender, EventArgs e) { Image.SetSectorsProcessResult(SectorProcessResult.Good, FirstTrack * SectorsOnTrack, (LastTrack - FirstTrack) * SectorsOnTrack); Repaint(); StatsTable?.Repaint(); }
public ReaderBase(Control parent, int sectorSize, int sectorsOnTrack, DiskReaderParams dparams) { Parent = parent; SectorSize = sectorSize; SectorsOnTrack = sectorsOnTrack; parent.SuspendLayout(); Params = dparams; readSide = new GroupBox() { Parent = parent, Left = 202, Top = 9, Width = 105, Height = 83, Text = "Read Side" }; side0 = new RadioButton() { Parent = readSide, Left = 6, Top = 19, Text = "Side 0", AutoSize = true }; side1 = new RadioButton() { Parent = readSide, Left = 6, Top = 39, Text = "Side 1", AutoSize = true }; sideBoth = new RadioButton() { Parent = readSide, Left = 6, Top = 60, Text = "Both", AutoSize = true, Checked = true }; sectorReadAttemptsL = new Label() { Parent = parent, Left = 312, Top = 3, Text = "Sector Read Attempts", AutoSize = true }; sectorReadAttempts = new TextBox() { Parent = parent, Left = 315, Top = 19, Text = "1" }; firstTrackL = new Label() { Parent = parent, Left = 313, Top = 44, Text = "First Track", AutoSize = true }; lastTrackL = new Label() { Parent = parent, Left = 375, Top = 44, Text = "Last Track", AutoSize = true }; firstTrack = new TextBox() { Parent = parent, Left = 315, Top = 61, Width = 56, Text = "0" }; lastTrack = new TextBox() { Parent = parent, Left = 378, Top = 61, Width = 56, Text = MainForm.MaxTrack.ToString() }; imageGB = new GroupBox() { Parent = parent, Left = 651, Top = 5, Width = 381, Height = 213, Text = "Образ" }; newImage = new Button() { Parent = imageGB, Left = 300, Top = 37, Width = 75, Height = 23, Text = "New" }; loadImage = new Button() { Parent = imageGB, Left = 300, Top = 66, Width = 75, Height = 23, Text = "Load" }; saveImage = new Button() { Parent = imageGB, Left = 300, Top = 94, Width = 75, Height = 23, Text = "Save" }; showCatalogue = new Button() { Parent = imageGB, Left = 170, Top = 184, Width = 75, Height = 23, Text = "Catalogue" }; showCatFromTrack = new Button() { Parent = imageGB, Left = 250, Top = 184, Width = 128, Height = 23, Text = "Catalogue From Track" }; setSize = new Button() { Parent = imageGB, Left = 10, Top = 184, Width = 75, Height = 23, Text = "Set Size" }; mergeImage = new Button() { Parent = imageGB, Left = 90, Top = 184, Width = 75, Height = 23, Text = "Merge" }; readForward = new Button() { Parent = parent, Left = 549, Top = 10, Width = 96, Height = 23, Text = "Read Forward" }; readBackward = new Button() { Parent = parent, Left = 549, Top = 36, Width = 96, Height = 23, Text = "Read Backward" }; readRandomSectors = new Button() { Parent = parent, Left = 511, Top = 72, Width = 134, Height = 23, Text = "Read Random Sectors" }; abortButton = new Button() { Parent = parent, Left = 568, Top = 193, Width = 75, Height = 23, Text = "Abort" }; readCatalogue = new Button() { Parent = parent, Left = 6, Top = 50, Width = 144, Height = 23, Text = "Read Catalogue" }; dataRateL = new Label() { Parent = parent, Left = 3, Top = 10, Text = "Data Rate", AutoSize = true }; dataRate = new ComboBox() { Parent = parent, Left = 6, Top = 26, Width = 121, Height = 21, DropDownStyle = ComboBoxStyle.DropDownList }; upperSidePanel = new GroupBox() { Parent = parent, Left = 316, Top = 99, Width = 156, Height = 89, Text = "Upper Side Head Parameter" }; upperSide0 = new RadioButton() { Parent = upperSidePanel, Left = 6, Top = 20, Text = "Head = 0", AutoSize = true }; upperSide1 = new RadioButton() { Parent = upperSidePanel, Left = 6, Top = 43, Text = "Head = 1", AutoSize = true }; upperSideAutodetect = new RadioButton() { Parent = upperSidePanel, Left = 6, Top = 66, Text = "Autodetect", AutoSize = true, Checked = true }; readModePanel = new GroupBox() { Parent = parent, Left = 202, Top = 99, Width = 105, Height = 62, Text = "Read Mode" }; readModeStandard = new RadioButton() { Parent = readModePanel, Left = 6, Top = 19, Text = "Standard", AutoSize = true, Checked = !Timer.IsHighResolution }; readModeFast = new RadioButton() { Parent = readModePanel, Left = 6, Top = 39, Text = "Fast", AutoSize = true, Checked = Timer.IsHighResolution, Enabled = Timer.IsHighResolution }; trackLayoutL = new Label() { Parent = parent, Left = 0, Top = 205, Text = "Sector Layout:", AutoSize = true }; trackLayoutLV = new Label() { Parent = parent, Left = 75, Top = 205, Text = "...", AutoSize = true }; drivePanel = new GroupBox() { Parent = parent, Left = 152, Top = 9, Width = 46, Height = 62, Text = "Drive" }; driveA = new RadioButton() { Parent = drivePanel, Left = 6, Top = 19, Text = "A:", AutoSize = true, Checked = Params.Drive == Drive.A }; driveB = new RadioButton() { Parent = drivePanel, Left = 6, Top = 39, Text = "B:", AutoSize = true, Checked = Params.Drive == Drive.B }; trackLayoutL.Visible = MainForm.Dev; trackLayoutLV.Visible = MainForm.Dev; for (int i = 0; i < DataRateArray.Length; i++) { dataRate.Items.Add(DataRateArray[i].ToString().Replace("FD_RATE_", "")); } dataRate.MouseWheel += DataRate_MouseWheel; FillControls(); stats = new ImageStatsTable(imageGB, SystemColors.Window, SystemColors.ControlText); stats.SetPosition(6, 16); stats.Repaint(); map = new Map(MainForm.MaxTrack, SectorSize, SectorsOnTrack, parent, Color.White, stats); map.SetPosition(0, 227); map.ReadBoundsChanged += Map_ReadBoundsChanged; map.FirstTrack = Params.FirstTrack; map.LastTrack = Params.LastTrack; map.Repaint(); sectorReadAttempts.TextChanged += SectorReadAttempts_TextChanged; firstTrack.TextChanged += SectorReadAttempts_TextChanged; lastTrack.TextChanged += SectorReadAttempts_TextChanged; side0.CheckedChanged += SectorReadAttempts_TextChanged; side1.CheckedChanged += SectorReadAttempts_TextChanged; sideBoth.CheckedChanged += SectorReadAttempts_TextChanged; dataRate.SelectedIndexChanged += SectorReadAttempts_TextChanged; upperSide0.CheckedChanged += SectorReadAttempts_TextChanged; upperSide1.CheckedChanged += SectorReadAttempts_TextChanged; readModeStandard.CheckedChanged += SectorReadAttempts_TextChanged; readModeFast.CheckedChanged += SectorReadAttempts_TextChanged; driveA.CheckedChanged += SectorReadAttempts_TextChanged; driveB.CheckedChanged += SectorReadAttempts_TextChanged; abortButton.Click += AbortButton; setSize.Click += SetSize; parent.ResumeLayout(false); }