Снегопат

Обсуждение Снегопата
Текущее время: 25 ноя 2024, 16:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 14 фев 2012, 07:38 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Хочу внести на рассмотрение сообщества следующее предложение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предлагаю обсудить описанное поведение. Если возражений ни у кого не будет, я буду готов реализовать описанное.

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 10:32 
Не в сети

Зарегистрирован: 20 дек 2011, 10:31
Сообщения: 588
Откуда: Украина, Запорожье
Цитата:
(б) открывать исходный код скрипта в Конфигураторе
(в) открывать исходный код скрипта при помощи заданной команды (как в scriptdev.js)

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 10:40 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
1. Разумно, не зачем плодить сущности.
2. Думаю, это надо отдавать на откуп разработчика скрипта - как себя скрипт должен вести в таком случае: позволяет ли он запуск нескольких форм или не позволяет.

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 12:49 
Не в сети

Зарегистрирован: 29 авг 2011, 11:24
Сообщения: 32
Поддерживаю.
Только, может, вместо getDefaultMacros() предусмотреть возможность обработки двойного клика непосредственно в скрипте, скажем, в onDoubleClick() ? Возможно, дефолтного макроса в скрипте и вовсе не будет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 13:12 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Если не будет - его нужно сделать, как и onDoubleClick() и то и другое - функция без параметров.
Если дефолтного макроса не будет, то будет открываться предупреждение с информацией о скрипте (имя, версия по данным фоссила).

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 19:49 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2012, 20:48 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Хуже от этого точно никому не будет, а удобства прибавится


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2012, 07:26 
Не в сети
Администратор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 фев 2012, 10:29 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Ок, сделаю.

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 мар 2012, 12:20 
Не в сети
Аватара пользователя

Зарегистрирован: 24 авг 2011, 15:53
Сообщения: 448
Откуда: Саратов
Реализовал описанное поведение и возможность его настройки, перенес все в транк.


Вложения:
Комментарий к файлу: Окно настроек Снегопата. Настройка поведения при двойном клике на имени скрипта в окне Снегопата.
snegopat-settings.png
snegopat-settings.png [ 17.13 КБ | Просмотров: 13653 ]

_________________
С уважением,
Александр Кунташов
Канал про 1С в Телеграме: @kuntashov_devnotes
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB