Page 1 of 1

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 08:01
by Shmuel
Думал виш на мантис поместить, но решил сначала здесь, чтобы больше людей увидело.

Мне кажется нелогичным, что при выводе диалога на экран, поля редактирования (DI_EDIT, например), содержащие текст, который не помещается в поле, отображают "хвост" этого текста, а не "голову". Как по мне, то в большинстве случаев передняя часть информативнее, и вообще, отображать переднюю часть представляется естественным. Мы же в панелях отображаем переднюю часть имён файлов.

Как иллюстрация, можно нажать F11, стать на Arclite, нажать F3 и посмотреть 2-е поле сверху.
У меня есть скрипт с длинными текстами в однострочных полях - очень напрягает. Всё-таки главная информация обычно ставится в начало.

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 10:14
by DrKnS
Shmuel wrote:
Sun 04 Feb, 2018 08:01
Мне кажется нелогичным
Насколько я понимаю, это обусловлено тем, что начальная позиция курсора в поле редактирования - в конце строки.

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 10:56
by Shmuel
DrKnS wrote:
Sun 04 Feb, 2018 10:14
это обусловлено тем, что начальная позиция курсора в поле редактирования - в конце строки
Пусть так, но это неудобно.
Во-первых, переход мышью на такое поле приводит к показу текста от начала.
Во-вторых, если переходить табами, то всё равно придётся нажать дополнительно кнопку, чтобы снять состояние "неизменённый".
В-третьих, поле может быть только для чтения.
В-четвёртых, редактирование не обязательно должно происходить в конце текста.
В-пятых, редактирование не всегда требуется. Вот, например, 10 таких полей в таблице базы данных, открываю диалог и вижу хвосты.

Оптимально было бы добавить какой-то флаг, тогда и волки были бы сыты, и овцы целы.

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 12:47
by zg
а почему курсор просто не ставить курсор на начало? зачем флаг?

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 13:13
by Shmuel
Лично меня устраивает просто ставить курсор на начало, но может быть есть кто-то, кому нынешнее поведение нравится (пока не высказались).

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 14:50
by NightRoman
Стоит попробовать просто ставить курсор на начало. Это непривычно в Фаре, но привычно во многих других приложениях. Есть плюсы и минусы. Чего больше, и нужен ли флаг для переключения, выяснится на практике (и будут аргументы, наверное).

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 15:42
by Taciturn
Shmuel wrote:
Sun 04 Feb, 2018 08:01
Как иллюстрация, можно нажать F11, стать на Arclite, нажать F3 и посмотреть 2-е поле сверху.
Интересно, а почему/зачем это окно вообще такое узкое?

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 17:00
by Wave
В целом поддерживаю идею. Временами тоже бывает неудобно видеть хвосты. Хотя не уверен, что не вылезут неудобства, если видеть начала строк. В общем, попробовал бы другое поведение.

Если текст не помещается в поле редактирования диалога

Posted: Sun 04 Feb, 2018 19:42
by Smitis
При переименовании/копировании файлов, мне кажется, логичнее, когда курсор в конце.
С другой стороны, например, для плагина FileVer у меня написан макрос, который вызывает плагин, а затем пробегает по всем полям и делает Home, чтобы видеть начала строк.
Как-то не всё однозначно.

Если текст не помещается в поле редактирования диалога

Posted: Mon 05 Feb, 2018 09:17
by 2useven10
Я за дополнительный флаг (или флаги).
Без явного указания можно (imho) ставить курсор в конец, если текст помещается в поле ввода, если нет - в начало.

Если текст не помещается в поле редактирования диалога

Posted: Mon 05 Feb, 2018 10:46
by DrKnS
2useven10 wrote:
Mon 05 Feb, 2018 09:17
можно (imho) ставить курсор в конец, если текст помещается в поле ввода, если нет - в начало.
Если ставить статически недетерминированно (как попало) - поломаются действия пальцев на автомате (это когда точно знаешь, что shift-home - это выделить всё, а стрелка вправо - дописываем текст, например).

Если текст не помещается в поле редактирования диалога

Posted: Mon 05 Feb, 2018 11:07
by 2useven10
Понятно что на вкус и цвет..., потому и 'imho'.
Правильнее было бы дать возможность выбора:
1) для каждого поля (курсор в начало/конец/авто==умолчание)
2) глобальная настройка для 'авто' - начало/конец/'интеллект' (умолчание конец == текущее поведение, 'аи' == мой вариант).

Если текст не помещается в поле редактирования диалога

Posted: Mon 05 Feb, 2018 11:40
by DrKnS
Курсор в конце поля ввода - не причуда Far, а общепринятое поведение. Надо иметь веские аргументы, чтобы его менять, и еще более веские аргументы, чтобы протаскивать это в интерфейс.

Любителям экзотики всё это уже и так давно доступно через плагин и макро апи.

Однако, пример в этом топике не совсем про поле ввода, потому что оно там read only и имеет чисто информационную функцию.
Для таких случаев да, пожалуй, лучше видеть начало. А то и вообще красить поле в цвет статик текста, ибо это по сути статик текст и есть, только с прокруткой.