samstyle / Xpeccy

Multiplatform emulator of retro computers
MIT License
73 stars 13 forks source link

Редактор шестнадцаричных значений #30

Closed Volutar closed 5 years ago

Volutar commented 5 years ago

Редактор шестнадцатеричных значений в WUTcha какой-то странный, если поле пустое, начинаешь вбивать 4 цифры FFFF, в итоге он примет только крайнюю (000F), и каждый раз приходится бежать в начало и вбивать всё заново. То есть дефолтовое пустое значение интерпретируется как не пустое, а заполненное, и курсор установлен в 4й позиции.

В дампе памяти выделяешь поле, пытаешься целиком его вбить, и он заменяет последнее значение, а курсор ставить на ВТОРОЕ. image

Редактор шестнадцатеричных значений ощущается кривым именно из-за валидации. Зачем вообще с ним мудрить и почему не брать поле как обычную строку, и использовать значение для калькуляций, не трогая исходной? А если там ошибочное значение - просто не вычислять значения, на него отсылающиеся, и писать там какой-нибудь "error".

image

samstyle commented 5 years ago

это всё велосипедный редактор значения, совмещающий в себе QLineEdit и QSpinBox. Но, кажется, я нашёл, где собака порылась... Итак, желаемое поведение - если выделить всё значение и начать набирать, набор должен идти с самого старшего разряда?

Volutar commented 5 years ago

Строка с шестнадцатеричным числом интуитивно воспринимается как обычная строка, и ожидается что полное выделение и ввод начнётся с самого левого (старшего) разряда. То же самое если удалять символы по одному справа (backspace) и вводить повторно - ожидаются что они будут добавляться справа.