ABC, popup в Browse

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Действительно, есть подобное. Не хватает условия неактивности пункта меню. В ШВС изначально этого тоже не было, специально добавлял такую опцию. Логика сложнее, чем в ШВС, больше работы, надо заполнять дополнительные промпты, возможно, из-за универсальности. Хоть так.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

ABC, popup в Browse

Сообщение kreator »

Игорь Столяров писал(а): 01 Апрель 2023, 18:14
Дед Пахом писал(а): 01 Апрель 2023, 17:32 есть кодовый шаблон DisplayPopupMenu
Реально есть ! Странно, что я и им никогда не пользовался ... :)
Неполноценный шаблон. Даже иконку не добавить. Кто-нибудь доработал бы.
finsoftrz писал(а): 01 Апрель 2023, 17:41 В ШВС устанавливается в параметрах шаблона browse. В несколько модифицированном виде выглядит так.
В ABC логика другая. Меню прописано в глубинах класса. Если ничего для броуза лишнего не надо, то и настраивать ничего не надо. Как бы само работает. А в ШВС для каждого броуза надо настраивать?
We are hard at work… for you. :)
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

ABC, popup в Browse

Сообщение kreator »

Игорь Столяров писал(а): 01 Апрель 2023, 14:10 Мона и так. Но мы проще делаем - при вызове SELF.SetAlerts() после открытия окна.
Почему проще? Если на окне несколько броузов, то удобней в самом BrowseClass'е. Да и синтаксис "self.popup" мне больше нравится. И с копированием проблем меньше.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

kreator писал(а): 01 Апрель 2023, 19:52 Почему проще? Если на окне несколько броузов
Именно поэтому и проще. ;) Настройки PopUp меню для всех Browse в окне находятся в одном месте. :)
kreator писал(а): 01 Апрель 2023, 19:52 Да и синтаксис "self.popup" мне больше нравится
Однотипность синтаксиса не всегда в плюс - здесь ведь идёт работа с разными экземлярами одного класса.
Если (предположим) козлит что-то в настройке конкретного списка - то мне проще поиском пробежать по всем
Embeds и посмотреть что понанастраивали для конкретного списка по строке "BRW1." И всё. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

kreator писал(а): 01 Апрель 2023, 19:37 В ABC логика другая. Меню прописано в глубинах класса. Если ничего для броуза лишнего не надо, то и настраивать ничего не надо. Как бы само работает. А в ШВС для каждого броуза надо настраивать?
Настраивать нужно, если привязываются пункты к контекстному меню. Кроме промптов в шаблоне броуза, есть также вставка в контекстное меню с помощью промптов других шаблонов. Например, у контрол шаблона "редактирование записи" (это где 3 кнопки доб/изм/уд) можно настроить включение в popup меню.
По большому счету, размещать код в нужные места (точки вставки) можно из разных шаблонов. У кодовых шаблонов есть минус, надо вначале найти нужную точку вставки в дереве. Если же размещать код контрол шаблонами или процедурными/глобальными экстеншенами, то название точки вставки можно прописать в них, меньше телодвижений.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

kreator писал(а): 01 Апрель 2023, 19:37 Неполноценный шаблон. Даже иконку не добавить. Кто-нибудь доработал бы.
Там можно кнопку привязать, иконку будет из нее отображать. Я чаще всего так и делаю, пункты в popup меню соответствуют кнопкам. Так удобно разруливать настройки прав доступа.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

Мне, как и Вячеславу, тоже показалось, что в Legacy (использую подправленные под себя ШВС) обработка popup проще.

После, как коллеги подсказали про popup-меню, увидел еще один, менее, на мой взгляд, интуитивно наглядный чем в Legacy, момент в ABC, ситуация:
допустим сделал свою кнопку, например, копирования записи ?btn_Copy
чтобы было "красиво", то принято, что когда записей нет, такая кнопка должна иметь PROP:Disable = TRUE, а когда записи появились - кнопка должна стать ENABLE

В legacy есть (в русском переводе Embed) "Нет записей для вывода" и, соответственно, "Имеются записи для вывода" и там соответственно можно отработать в каком случае "приглушать" или "подсвечивать" кнопку и(или) разместить еще какой-то код.

Здесь, в ABC в BrowseClass добавил отслеживание SELF.Records() (хез, правильно ли...)

А как в ABC грамотно решается ситуация: нет записи - кнопка Disable (т.е. по аналогии с кнопками ?Change и ?Delete)?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

SergioRaguzini писал(а): 01 Апрель 2023, 21:56 А как в ABC грамотно решается ситуация: нет записи - кнопка Disable
Ну насчёт грамотно я не обещаю, но включать / выключать диапазон
контролов без лишних прорисовок мона вот так:

1.jpg
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 235
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

ABC, popup в Browse

Сообщение SergioRaguzini »

Игорь Столяров писал(а): 01 Апрель 2023, 22:24 ...мона вот так...
:ty:
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Игорь Столяров писал(а): 01 Апрель 2023, 22:24
SergioRaguzini писал(а): 01 Апрель 2023, 21:56 А как в ABC грамотно решается ситуация: нет записи - кнопка Disable
Ну насчёт грамотно я не обещаю, но включать / выключать диапазон
контролов без лишних прорисовок мона вот так:
Я уже давно не пользуюсь этими точками вставки. Если есть контрол шаблоны, дочерние по отношению к броузу, то они автоматически отрабатывают доступность. Для обычных контролов использую процедурный экстеншин "Дополнительное управление browse", в котором список доступных контролов (на скриншоте). В сторону идеи работы через диапазон контролов не думал. Выглядит неплохо, хотя могут быть нюансы в использовании.

browse.jpg
C6/C11, ШВС, tps/btrieve.
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

ABC, popup в Browse

Сообщение harry »

Может, не понял задачу, но мне кажется, шаблон BrowseNoRecordsFound должен подойти.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

finsoftrz писал(а): 01 Апрель 2023, 23:04 Выглядит неплохо, хотя могут быть нюансы в использовании.
У Вас же своя версия шаблонов и даже настройка среды разработки ...
Поэтому эти знания, к сожалению, можно использовать только на Вашем компьютере. :(
Мне их негде применить. Это как виртуозная настройка двигателя на Москвиче 412. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ABC, popup в Browse

Сообщение finsoftrz »

Игорь Столяров писал(а): 01 Апрель 2023, 23:43
finsoftrz писал(а): 01 Апрель 2023, 23:04 Выглядит неплохо, хотя могут быть нюансы в использовании.
У Вас же своя версия шаблонов и даже настройка среды разработки ...
Поэтому эти знания, к сожалению, можно использовать только на Вашем компьютере. :(
Мне их негде применить. Это как виртуозная настройка двигателя на Москвиче 412. :)
Никто не мешает взять идеи и перенести в abc. Или поискать в abc, может, что-то подобное уже реализовано.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

ABC, popup в Browse

Сообщение RaFaeL »

Игорь Столяров писал(а): 01 Апрель 2023, 16:46 Таки есть варианты ? Научите !
Только без заброшенных 20-ти летних шаблонов, из-за которых потом проекты обречены на пожизненное Legacy.
А в чем разница, самим написать или чужой шаблон использовать?
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ABC, popup в Browse

Сообщение Игорь Столяров »

RaFaeL писал(а): 02 Апрель 2023, 1:22 самим написать или чужой шаблон использовать
Если можешь написать шаблон сам - то полностью сам его и поддерживаешь.
Если нет таких навыков - то можно использовать сторонний шаблон.

Но как правило, авторы самопалных шаблонов (в т.ч. и названных в честь себя)
их забрасывают без каких-либо конвертеров, т.к. им всё и на всё пофиг.
И большие проекты сделанные на таких шаблонах - остаются привязанные к ним. :(
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить