Использование пиктограмм индизайна — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Использование пиктограмм индизайна

2021-05-27 30
Использование пиктограмм индизайна 0.00 из 5.00 0 оценок
Заказать работу

Начиная с версии 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.