[AI CC-CC2022] CC2018 не обновляется окно в режиме palette

  • Автор темы Автор темы Ketov
  • Дата начала Дата начала

Ketov

Участник
Топикстартер
Сообщения
13
Реакции
0
В режиме palette не обновляется окно и по нажатию кнопок действий не происходит.
Простой пример: есть контур и я хочу просто узнать количество точек в нем при нажатии кнопки. Так же при создании нового контура хочется нажимать на кнопку и видеть это количество.


var button = myWindow.add ("button", undefined, "OK");
var e = myWindow.add ("edittext", undefined, "");

button.onClick = function ()
{e.text = items[0].pathPoints.length;}

Но на деле ничего не происходит. Как решить эту задачу. Уже голову сломал.
 
вы точно хотите получать количество точек для первого объекта а не выделенного?
Но на деле ничего не происходит. Как решить эту задачу. Уже голову сломал.
ничего не происходит - это не меняется число или вообще не отображается любое число.
 
вы точно хотите получать количество точек для первого объекта а не выделенного?

ничего не происходит - это не меняется число или вообще не отображается любое число.

не меняется число и не отображается тоже )))

В режиме dialog отображение есть, но нифига не видно что происходит при работе скрипта. Ну это к примеру когда я программно дорисовываю новые кривые.
 
Последнее редактирование:
не меняется число и не отображается тоже )))
Ну тогда начните с отладки, попробуйте сократить до items[0]
Надеюсь у вас предварительно есть что-то вроде
Код:
doc = activeDocument;
items = doc.pathItems;
и вообще выкладывайте код полностью, экономьте время экстрасенсов.
 
И еще ощущение что переменная
var doc = app.activeDocument;
только при запуске скрипта один раз инициализируется и потом даже при новом запросе не обновляется до закрытия окна .
 
Ну тогда начните с отладки, попробуйте сократить до items[0]
Надеюсь у вас предварительно есть что-то вроде
Код:
doc = activeDocument;
items = doc.pathItems;
и вообще выкладывайте код полностью, экономьте время экстрасенсов.
Ну тут и выкладывать то нечего, по сути это и есть весь код. Проблема озвучена полностью.
 
var myWindow = new Window ("palette");
var doc = app.activeDocument;


var button = myWindow.add ("button", undefined, "OK");
var e = myWindow.add ("edittext", undefined, "");

button.onClick = function ()
{e.text = items[0].pathPoints.length;}
myWindow.show ( );


весь код
 
В порядке постукивания по шине - вы слышали про функцию redraw() ?
 
В порядке постукивания по шине - вы слышали про функцию redraw() ?
Конечно. Мне хватило пары часов чтобы разобраться с документацией. Только redraw() нифига не очевидна. Ни в одном примере она не используется. Уже давно не удивляет отсутствия внятного руководства от разрабов. В итоге сделал через BridgeTalk о котором ни слова у разраба ни в UI руководстве, ни по самим скриптам.
 
Последнее редактирование:
В режиме palette не обновляется окно и по нажатию кнопок действий не происходит.
Иллюстратор не поддерживает работу немодальных окон с объектной моделью. С этим можно только смириться.
 
Я не совсем пойму, зачем вообще такое странное надо?
В крайнем случае, можно ж экстеншном, наверное?
 
"Это" нужно для работы с документом и объектами через свою панель. Модальный диалог, например, блокирует доступ.
 
Насколько я понимаю, экстеншновская панель лишена этого недостатка?
 
Хочешь, чтобы я тебе расписал, чего лишена панель экснетшын? Нормальной поддержки она лишена в первую очередь.
Это да, есть такое. Причем, как бы не я об этом и писал изначально