DIF_READONLY и Checkbox-ы
-
- Posts: 1351
- Joined: Fri 30 Nov, 2007 15:32
- Location: Крым
- Has thanked: 15 times
- Been thanked: 50 times
- Contact:
DIF_READONLY и Checkbox-ы
На данный момент, в диалогах флаг DIF_READONLY не дружит с чекбоксами. Собственно, возник вопрос - пуркуа бы их не подружить? Конечно, можно сделать чекбоксы неизменяемыми через диалоговую процедуру, но это как-то не очень красиво. Да и флаг уже есть подходящий.
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
DIF_READONLY и Checkbox-ы.
А в каких случаях для checkbox'а read-only предпочтительнее, чем disabled? Мне что-то не приходит в голову ни одного примера.
Фар есть инструмент, а не нянька. © 2009 DrKnS
-
- Posts: 1351
- Joined: Fri 30 Nov, 2007 15:32
- Location: Крым
- Has thanked: 15 times
- Been thanked: 50 times
- Contact:
DIF_READONLY и Checkbox-ы
Это больше эстетический момент. Disabled - это, как по мне, скорее "не доступно"/"не применимо", а readonly - это есть, но поменять нельзя. Не принципиальная разница, но чисто визуально разное впечатление создает.
Для примера. Хочу я показать для файла на панели атрибут Encrypted. Readonly checkbox будет означать, что менять шифрование юзер не может, но файлы могут быть зашифрованы в принципе. А disabled нам скажет, что шифрования в данном формате не поддерживается вообще.
Кстати в Фаре это различие тоже используется, в диалоге атрибутов файла. У меня атрибут Virtual всегда disabled, а для Reparse Point аналог readonly используется, он enabled, но поменять нельзя. Не знаю какая тут мотивация была, но тем не менее.
Для примера. Хочу я показать для файла на панели атрибут Encrypted. Readonly checkbox будет означать, что менять шифрование юзер не может, но файлы могут быть зашифрованы в принципе. А disabled нам скажет, что шифрования в данном формате не поддерживается вообще.
Кстати в Фаре это различие тоже используется, в диалоге атрибутов файла. У меня атрибут Virtual всегда disabled, а для Reparse Point аналог readonly используется, он enabled, но поменять нельзя. Не знаю какая тут мотивация была, но тем не менее.
- HaRT
- Moderator
- Posts: 10823
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
DIF_READONLY и Checkbox-ы
Я как пользователь не могу с вами согласиться. Для меня disabled означает лишь то, что значение не может быть изменено в конкретных условиях, но ничего не говорит о том, что оно не может быть изменено вовсе. А read-only в случае checkbox'а, на мой взгляд, и вовсе неудачное состояние, потому что выглядит так, будто можно с ним что-то содержательное делать, а на самом деле нельзя. Это совсем не то же самое, что, скажем, для текста, потому что там есть и разные другие содержательные действия помимо модификации.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
-
- Posts: 1351
- Joined: Fri 30 Nov, 2007 15:32
- Location: Крым
- Has thanked: 15 times
- Been thanked: 50 times
- Contact:
DIF_READONLY и Checkbox-ы
Я же и говорю, эстетический момент. Очень субъективная штука.
Тоже логичный вариант применения readonly.
Независимо от мотивации, предложение то моё ничего не ломает, а просто добавляет разработчику диалога возможность делать такой финт при помощи логичного и существующего флага. Вместо диалоговой процедуры, которая в сочетании с билдером стала не очень удобной (эх, event-ы бы ему). А применять флаг или нет, это уже по желанию.
Last edited by Ariman on Tue 10 Dec, 2019 09:33, edited 1 time in total.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
DIF_READONLY и Checkbox-ы
Можно мои 5 копеек?
Иногда в макросе для позиционирования на элемент посылают
Keys(("Tab"):rep(n))
(имитируют нажатие Tab n раз). Если ReadOnly, то независимо от него количество Tab-ов не меняется. Если Disabled - надо знать, сколько элементов пролетит автоматически. И это уже не каприз. Посему поддерживаю.
Last edited by buniak_a_h on Wed 11 Dec, 2019 06:21, edited 1 time in total.
- zg
- zero-gravity
- Posts: 6016
- Joined: Tue 15 Mar, 2005 17:36
- Location: riga
- Been thanked: 185 times
- Contact:
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
DIF_READONLY и Checkbox-ы
Произвольный диалог в произвольный момент может измениться произвольным образом.buniak_a_h wrote: ↑Wed 11 Dec, 2019 06:21Иногда в макросе для позиционирования на элемент посылаютKeys(("Tab"):rep(n))
(имитируют нажатие Tab n раз). Если ReadOnly, то независимо от него количество Tab-ов не меняется. Если Disabled - надо знать, сколько элементов пролетит автоматически. И это уже не каприз.
Если ваш макрос вслепую исполняет какие-то комбо - он может в произвольный момент начать выполнять произвольную дичь (например, удалять пользователю файлы).
Если вы это делаете в каких-то своих одноразовых ad hoc скриптах - это ваше дело.
Если же вы такое публикуете - это, действительно, не каприз. Это вредительство.
- buniak_a_h
- Posts: 4236
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 643 times
- Contact:
DIF_READONLY и Checkbox-ы
Чего-то я не пойму. Не хотите - не делайте. Тема не моя, чего накинулись то???
Просили привести пример, когда это было бы полезно - я привёл. Есть ещё такая вещь, как память пальцев. Знаю, что надо нажать Tab 3 раза и, не глядя на экран, жму. Особенно полезно при многократном повторении. Ну и клавиатурные макросы никто не отменял.
Просили привести пример, когда это было бы полезно - я привёл. Есть ещё такая вещь, как память пальцев. Знаю, что надо нажать Tab 3 раза и, не глядя на экран, жму. Особенно полезно при многократном повторении. Ну и клавиатурные макросы никто не отменял.