Двойной клик скрипта в окне Снегопата [ветка default-macros]

Всяческие обсуждения снегопата.
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Двойной клик скрипта в окне Снегопата [ветка default-macros]

Сообщение kuntashov »

Хочу внести на рассмотрение сообщества следующее предложение.

Сейчас по двойному клику в окне Снегопата на скрипте происходит открытие исходного текста скрипта в конфигураторе.

Возможно, кто-то из разработчиков скриптов пользуется этой возможностью для быстрого просмотра исходников или мелких правок, но в целом, как мне представляется, такое поведение можно было бы заменить на более полезное.

Для конечного же пользователя Снегопата, который в общем случае, совсем не обязательно "скриптописатель" - такая возможность вообще бесполезна.

Вообще, на двойной клик скрипта в окне Снегопата, имхо, "напрашивается" выполнение какого-либо действия самим скриптом.
Такое действие должно быть контекстно-независимым (т.е. не требовать активного текстового окна и т.п.), и наиболее подходящим вариантом будет открытие какой-либо формы скрипта.

Для большинства скриптов это может быть открытие формы настройки этого скрипта.
Для других, например extfiles.js, - открытие основной формы скрипта.

Я эксперементально уже больше недели пользуюсь такой возможностью (см. ветки default-macros в репозитарии Снегопата и в репозитарии скриптов).

На мой взгляд такое поведение кажется удобным и интуитивно-ожидаемым от окна Снегопата.

Реализовано это при помощи следующего соглашения между Снегопатом и скриптами:

    1. Если скрипт содержит метод getDefaultMacros(), то Снегопат по двойному клику на скрипте в окне Снегопата будет вызывать макрос, имя которого должен вернуть указанный метод (в виде строки - имени макроса без префикса macros).

    2. Если метода getDefaultMacros() в скрипте нет, то будет отрабатывать стандартное поведение - скрипт будет открываться в окне Конфигуратора.

Это, конечно же, черновой вариант реализации.

В целом для обсуждения идея следующая. Дать возможность пользователю настраивать поведение при двойном клике на скрипте путем выбора из следующих вариантов (настройка общая для всех скриптов):

    (а) ничего не делать
    (б) открывать исходный код скрипта в Конфигураторе
    (в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js)
    (г) вызывать макрос по умолчанию

При этом, если пользователем выбран пункт (г), а скрипт не содержит метода getDefaultMacros(), то ничего не делать, то отрабатывать по умолчанию вариант (а) с предупреждением в виде названия скрипта - аналог диалога "О скрипте" (чтобы пользователь понимал, что скрипт - рабочий, но просто не экспортирует методов по умолчанию).

По умолчанию в Снегопате должна использоваться настройка (г) "вызывать макрос по умолчанию".

Предлагаю обсудить описанное поведение. Если возражений ни у кого не будет, я буду готов реализовать описанное.
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
sosnae
Сообщения: 588
Зарегистрирован: 20 дек 2011, 10:31
Откуда: Украина, Запорожье

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение sosnae »

(б) открывать исходный код скрипта в Конфигураторе
(в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js)

1. (б) и (в) предлагаю объединить в одно: если указана команда, выполнять команду для скрипта, если нет, тогда открывать в конфигураторе?
2. В таком случаи хотелось бы еще один момент добавить: если скрипт (дефолтное действие допустим отработало) уже запущен и на нем клацаем 2, 3 ... n раз, то выдавать какое то предупреждение, вопрос?. Как пример: extfiles запустишь 7 раз будет 7 окошек...
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение kuntashov »

1. Разумно, не зачем плодить сущности.
2. Думаю, это надо отдавать на откуп разработчика скрипта - как себя скрипт должен вести в таком случае: позволяет ли он запуск нескольких форм или не позволяет.
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
palytsh
Сообщения: 32
Зарегистрирован: 29 авг 2011, 11:24

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение palytsh »

Поддерживаю.
Только, может, вместо getDefaultMacros() предусмотреть возможность обработки двойного клика непосредственно в скрипте, скажем, в onDoubleClick() ? Возможно, дефолтного макроса в скрипте и вовсе не будет.
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение kuntashov »

Если не будет - его нужно сделать, как и onDoubleClick() и то и другое - функция без параметров.
Если дефолтного макроса не будет, то будет открываться предупреждение с информацией о скрипте (имя, версия по данным фоссила).
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
Аватара пользователя
artbear
Сообщения: 1085
Зарегистрирован: 24 авг 2011, 15:36
Контактная информация:

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение artbear »

Согласен по всем пунктам.
Нужен именно дефолтный макрос со спец.именем
JohnyDeath
Сообщения: 722
Зарегистрирован: 24 авг 2011, 15:32

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение JohnyDeath »

Хуже от этого точно никому не будет, а удобства прибавится
Аватара пользователя
orefkov
Администратор
Сообщения: 2052
Зарегистрирован: 24 авг 2011, 15:04

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение orefkov »

Я согласен. Как с идеей, так и с реализацией - сделано просто, доработки Снегопата не требует.
Именно потому я и старался сделать большую часть функционала в виде core-скриптов.
В-принципе, можно мержить в trunk.
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение kuntashov »

Ок, сделаю.
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
Аватара пользователя
kuntashov
Сообщения: 448
Зарегистрирован: 24 авг 2011, 15:53
Откуда: Саратов
Контактная информация:

Re: Двойной клик скрипта в окне Снегопата [ветка default-mac

Сообщение kuntashov »

Реализовал описанное поведение и возможность его настройки, перенес все в транк.
Вложения
Окно настроек Снегопата. Настройка поведения при двойном клике на имени скрипта в окне Снегопата.
Окно настроек Снегопата. Настройка поведения при двойном клике на имени скрипта в окне Снегопата.
snegopat-settings.png (17.13 КБ) 63102 просмотра
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
Ответить