Снегопат https://snegopat.ru/forum/ |
|
Двойной клик скрипта в окне Снегопата [ветка default-macros] https://snegopat.ru/forum/viewtopic.php?f=1&t=123 |
Страница 1 из 2 |
Автор: | kuntashov [ 14 фев 2012, 07:38 ] |
Заголовок сообщения: | Двойной клик скрипта в окне Снегопата [ветка default-macros] |
Хочу внести на рассмотрение сообщества следующее предложение. Сейчас по двойному клику в окне Снегопата на скрипте происходит открытие исходного текста скрипта в конфигураторе. Возможно, кто-то из разработчиков скриптов пользуется этой возможностью для быстрого просмотра исходников или мелких правок, но в целом, как мне представляется, такое поведение можно было бы заменить на более полезное. Для конечного же пользователя Снегопата, который в общем случае, совсем не обязательно "скриптописатель" - такая возможность вообще бесполезна. Вообще, на двойной клик скрипта в окне Снегопата, имхо, "напрашивается" выполнение какого-либо действия самим скриптом. Такое действие должно быть контекстно-независимым (т.е. не требовать активного текстового окна и т.п.), и наиболее подходящим вариантом будет открытие какой-либо формы скрипта. Для большинства скриптов это может быть открытие формы настройки этого скрипта. Для других, например extfiles.js, - открытие основной формы скрипта. Я эксперементально уже больше недели пользуюсь такой возможностью (см. ветки default-macros в репозитарии Снегопата и в репозитарии скриптов). На мой взгляд такое поведение кажется удобным и интуитивно-ожидаемым от окна Снегопата. Реализовано это при помощи следующего соглашения между Снегопатом и скриптами:
2. Если метода getDefaultMacros() в скрипте нет, то будет отрабатывать стандартное поведение - скрипт будет открываться в окне Конфигуратора. Это, конечно же, черновой вариант реализации. В целом для обсуждения идея следующая. Дать возможность пользователю настраивать поведение при двойном клике на скрипте путем выбора из следующих вариантов (настройка общая для всех скриптов):
(б) открывать исходный код скрипта в Конфигураторе (в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js) (г) вызывать макрос по умолчанию При этом, если пользователем выбран пункт (г), а скрипт не содержит метода getDefaultMacros(), то ничего не делать, то отрабатывать по умолчанию вариант (а) с предупреждением в виде названия скрипта - аналог диалога "О скрипте" (чтобы пользователь понимал, что скрипт - рабочий, но просто не экспортирует методов по умолчанию). По умолчанию в Снегопате должна использоваться настройка (г) "вызывать макрос по умолчанию". Предлагаю обсудить описанное поведение. Если возражений ни у кого не будет, я буду готов реализовать описанное. |
Автор: | sosnae [ 14 фев 2012, 10:32 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Цитата: (б) открывать исходный код скрипта в Конфигураторе (в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js) 1. (б) и (в) предлагаю объединить в одно: если указана команда, выполнять команду для скрипта, если нет, тогда открывать в конфигураторе? 2. В таком случаи хотелось бы еще один момент добавить: если скрипт (дефолтное действие допустим отработало) уже запущен и на нем клацаем 2, 3 ... n раз, то выдавать какое то предупреждение, вопрос?. Как пример: extfiles запустишь 7 раз будет 7 окошек... |
Автор: | kuntashov [ 14 фев 2012, 10:40 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
1. Разумно, не зачем плодить сущности. 2. Думаю, это надо отдавать на откуп разработчика скрипта - как себя скрипт должен вести в таком случае: позволяет ли он запуск нескольких форм или не позволяет. |
Автор: | palytsh [ 14 фев 2012, 12:49 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Поддерживаю. Только, может, вместо getDefaultMacros() предусмотреть возможность обработки двойного клика непосредственно в скрипте, скажем, в onDoubleClick() ? Возможно, дефолтного макроса в скрипте и вовсе не будет. |
Автор: | kuntashov [ 14 фев 2012, 13:12 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Если не будет - его нужно сделать, как и onDoubleClick() и то и другое - функция без параметров. Если дефолтного макроса не будет, то будет открываться предупреждение с информацией о скрипте (имя, версия по данным фоссила). |
Автор: | artbear [ 14 фев 2012, 19:49 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Согласен по всем пунктам. Нужен именно дефолтный макрос со спец.именем |
Автор: | JohnyDeath [ 14 фев 2012, 20:48 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Хуже от этого точно никому не будет, а удобства прибавится |
Автор: | orefkov [ 15 фев 2012, 07:26 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Я согласен. Как с идеей, так и с реализацией - сделано просто, доработки Снегопата не требует. Именно потому я и старался сделать большую часть функционала в виде core-скриптов. В-принципе, можно мержить в trunk. |
Автор: | kuntashov [ 15 фев 2012, 10:29 ] |
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac |
Ок, сделаю. |
Автор: | kuntashov [ 01 мар 2012, 12:20 ] | ||
Заголовок сообщения: | Re: Двойной клик скрипта в окне Снегопата [ветка default-mac | ||
Реализовал описанное поведение и возможность его настройки, перенес все в транк.
|
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |