Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2021-05-27 | 30 |
5.00
из
|
Заказать работу |
Начиная с версии CS5, пользователь получил полный доступ ко всем пиктограммам программы. Они хранятся в подкаталогах, именуемых idrc_PNGA или idrc_PNGR (но структуры каталогов программы InDesign в операционных системах Win и Mac несколько отличаются друг от друга). Это PNG-файлы, имеющие расширение.idrc, которые ScriptUI читает без проблем.
{/ К сожалению, этот новый формат пока чужд программе Adobe Bridge — она не отображает файлы с таким расширением. Так что на сегодня файлы с этим расширением — это описание пиктограмм в служебном формате программы. /}
Элемент управления checkbox (флажок)
Вот примеры окон с несколькими флажками. Во время отображения окна пользователь может поставить птичку в любом из квадратиков, это установит свойство value этого флажка в состояние true:
var myWindow = new Window ("dialog");
var check1 = myWindow.add ("checkbox", undefined, "Предпочтителен черный");
var check2 = myWindow.add ("checkbox", undefined, "Предпочтителен черный и белый");
check1.value = true;
myWindow.show ();
По умолчанию свойство value установлено в false.
Здесь очевидна еще одна стандартная установка: в рамках контейнера все объекты выравниваются по центру. Это можно изменить установкой свойства alignChildren. Обратите также внимание, что описания флажков помещены очень близко к квадратику — чтобы отодвинуть текст, надо добавить неразрывный пробел (\u00A0):
var w = new Window ("dialog");
w.alignChildren = "left";
var check1 = w.add ("checkbox", undefined, "\u00A0Предпочтителен черный");
var check2 = w.add ("checkbox", undefined, "\u00A0Предпочтителен черный и белый");
check1.value = true;
w.show ();
А так можно проверить, установлен ли первый флажок:
if (check1.value == true)
return whatever
Оператор radiobutton (радиокнопка)
Радиокнопки схожи с флажками, но если можно установить все флажки, то с радиокнопками так не выйдет — в блоке может быть выбрана только одна кнопка.
Вот пример окна с несколькими радиокнопками:
var w = new Window ("dialog");
w.alignChildren = "left";
var radio1 = w.add ("radiobutton", undefined, "Предпочтителен черный");
var radio2 = w.add ("radiobutton", undefined, "Предпочтителен черный и белый");
radio1.value = true;
w.show ();
Чтобы узнать, какая из радиокнопок в группе нажата, надо перебирать все кнопки, пока не будет найдена активная.
В случае группы из двух кнопок всё намного проще:
if (radio1.value == true) // выбрана первая радиокнопка
else // выбрана вторая радиокнопка
Но если в группе несколько кнопок, то метод поиска перебором — это громоздкое решение.
Лучше поместить кнопки в массив, что позволит легко найти нажатую:
var w = new Window ("dialog");
var radio_group = w.add ("panel");
radio_group.alignChildren = "left";
radio_group.add ("radiobutton", undefined, "InDesign");
radio_group.add ("radiobutton", undefined, "PDF");
radio_group.add ("radiobutton", undefined, "IDML");
radio_group.add ("radiobutton", undefined, "Text");
w.add ("button", undefined, "OK");
// по умолчанию выбрана первая кнопка
radio_group.children[0].value = true;
function selected_rbutton (rbuttons)
{
for (var i = 0; i < rbuttons.children.length; i++)
if (rbuttons.children[i].value == true)
return rbuttons.children[i].text;
}
if (w.show () == 1)
alert ("Выбрано " + selected_rbutton (radio_group));
Важно установить блок радиокнопок в исходное состояние, т.е. программа возвращает результат выбора. Если начальной установки нет, и выбор не сделан, программа вернет значение undefined.
Для возврата не текстовой строки, а индекса используйте возвращенное число как индекс обращения к массиву. Например, в последнем примере вывод сообщения о выборе можно сделать так:
return i;
}
if (w.show () == 1)
alert ("Выбрано " + ["indd", "pdf", "idml", "txt"][selected_rbutton (radio_group)]);
Вот как в этом случае выглядит вывод на экран при выборе четвертой кнопки:
т.е. выводится выбранное расширение файла.
Если у вас несколько блоков радиокнопок, они должны быть размещены в отдельных группах.
Вот, например, как в скрипте batch/convert/export documents http://www.kahrel.plus.com/indesign/batch_convert_cs3.html
сделано два блока радиокнопок:
Радиокнопки для From: и To: размещены в отдельных группах.
Элемент управления listbox (список)
Этот оператор добавляет в окно список текстовыхстрок. Он может появиться в момент создания окна или добавлен позже. Для добавления списка в момент создания окна объекты списка помещаются в массив. Вот пример:
var w = new Window ("dialog");
var myList = w.add ("listbox", undefined, ["one", "two", "three"]);
w.show ();
Для создания списка позже, или добавления объектов в существующий список используйте показанный ниже метод:
var w = new Window ("dialog");
var myList = w.add ("listbox");
myList.add ("item", "one");
myList.add ("item", "two");
myList.add ("item", "three");
w.show ();
Объект в списке выбирается щелчком на нем. По умолчанию можно выбрать только один объект. Для возможности выбора нескольких объектов поступайте так:
var w = new Window ("dialog");
var myList = w.add ("listbox", undefined, ["one", "owo", "three"], {multiselect: true });
w.show ();
Когда свойством {multiselect: true } разрешен выбор нескольких строк, объекты выбираются стандартно: Ctrl+клик добавляет один объект, Shift+клик добавляет диапазон.
Чтобы после запуска скрипта одна из строк, например, первая, уже была выбрана, надо, чтобы было определено свойство selection этого списка:
var w = new Window ("dialog");
var myList = w.add ("listbox", undefined, ["one", "two", "three"], {multiselect: true });
myList.selection = 0;
w.show ();
Для выбора в таком списке более одной позиции при запуске скрипта надо записать в массив индексы выбираемых объектов:
myList.selection = [0,2];
для выбора подряд идущих объектов в этом массива должны быть перечислены индексы всех выбираемых объектов:
myList.selection = [0,1,2];
эта строка выберет первые три объекта списка.
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!