Снегопат https://snegopat.ru/forum/ |
|
Как работать с содержимым окна сообщений https://snegopat.ru/forum/viewtopic.php?f=3&t=241 |
Страница 1 из 1 |
Автор: | vsuh [ 20 авг 2012, 09:13 ] |
Заголовок сообщения: | Как работать с содержимым окна сообщений |
Скрипт formAutoVersion.js при каждом запуске выводит полный путь к сохраняемому файлу в окно сообщений. Очень раздражает выскакивание окна сообщений при сохранении. Где это делается в тексте аддина я не нашел. Добавил такой кусок в аддин: Код: if(cmd.isBefore) // Обработчик вызван перед выполнением команды { ......... } else { if(stdcommands.Frntend.CloseMessageWindow.getState().enabled) { stdcommands.Frntend.CloseMessageWindow.send() } } Но, при сохранении, в результате проверки синтаксиса в окно сообщений могут быть выведены ошибки, тогда окно закрывать не следует. Нужно сделать, чтоб окно сообщений закрывалось только в том случае, если там содержится одна или 0 строк. Как это сделать? |
Автор: | sosnae [ 20 авг 2012, 11:11 ] |
Заголовок сообщения: | Re: Как работать с содержимым окна сообщений |
Этот вариант не подойдет? Заголовок сообщения: Re: Не появился ли еще доступ к синтаксическому контролю? |
Автор: | vsuh [ 21 авг 2012, 08:22 ] |
Заголовок сообщения: | Re: Как работать с содержимым окна сообщений |
sosnae писал(а): Этот вариант не подойдет? Заголовок сообщения: Re: Не появился ли еще доступ к синтаксическому контролю? Я там не понимаю откуда в переменную msgWnd попадает объект окна сообщений: Код: ...
if(msgWnd) { msgText = msgWnd.text MessageBox(msgText) } ... |
Автор: | kuntashov [ 21 авг 2012, 08:46 ] |
Заголовок сообщения: | Re: Как работать с содержимым окна сообщений |
vsuh писал(а): sosnae писал(а): Этот вариант не подойдет? Заголовок сообщения: Re: Не появился ли еще доступ к синтаксическому контролю? Я там не понимаю откуда в переменную msgWnd попадает объект окна сообщений: Код: ... if(msgWnd) { msgText = msgWnd.text MessageBox(msgText) } ... Объект msgWnd запоминается в событии createTextWindow(), которое возникает каждый раз при создании текстового окна (к которым в том числе относится и окно сообщений): Код: var msgWnd = null function createTextWindow(textWnd){msgWnd = textWnd} Кстати, там в комментарии к макросу же все написано: Код: // Будем отлавливать создание текстового окна
events.connect(Designer, "createTextWindow", SelfScript.Self); |
Автор: | vsuh [ 21 авг 2012, 11:25 ] |
Заголовок сообщения: | Re: Как работать с содержимым окна сообщений |
Кто жеж знал-то... kuntashov писал(а): vsuh писал(а): Объект msgWnd запоминается в событии createTextWindow(), которое возникает каждый раз при создании текстового окна (к которым в том числе относится и окно сообщений): Код: var = null function createTextWindow(textWnd){msgWnd = textWnd} Кстати, там в комментарии к макросу же все написано: Код: // Будем отлавливать создание текстового окна events.connect(Designer, "createTextWindow", SelfScript.Self); Отлично! Спасибо. Теперь все получится. /////////////// Фига! msgWnd всю дорогу равен null. Может потому что я подписываюсь на другое событие - "onFileSave" а не "createTextWindow"? а внутри обработчика события можно подписаться на обработчик события createTextWindow? /////////////// а в какой момент в обработчике события onFileSave создается окно сообщений, чтоб можно было подписаться на событие createTextWindow? Код: function onFileSave(cmd) { ... if(cmd.isBefore) // Обработчик вызван перед выполнением команды { ... } else { ... } stdcommands.Frame.FileSave.addHandler(SelfScript.self, "onFileSave") ни в первом ни во втором условии я событие создания окна не отловил... может быть нужно использовать подписку на событие !isBefore onSyntaxCheck? |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |