Избранное »

22.09.2014 – 07:27 | 2 комментария | 15 333 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com начал работу канал «InDesign Мастерская вёрстки». Там уже размещены более 60 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скриптинг

Работа со списками в JavaScript (продолжение)

Добавлено на 05.04.2009 – 10:36Без комментариев | 1 020 views

В этом небольшом примере показано, как можно передавать значения элементов списка типа ListBox из одного списка в другой. Продемонстрировано добавление новой панели и реакция на двойное нажатие по элементу списка. Показано применение свойства orientation для окон, панелей и групп элементов управления.

При нажатии кнопок «Слева-направо» и «Справа-налево» происходит перемещение выделенного элемента из одного списка в другой. Такое же действие происходит по двойному нажатию на элементе списка.

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

// Передача элементов из одного списка в другой
// Adobe InDesign CS3-CS4
//
//  Исходные массивы:
var myArray1=[«Красный»,»Оранжевый»,»Желтый»,»Зеленый»,»Голубой»,»Синий»];
var myArray2=[«Ворона»,»Синица»,»Орел»];

getDialog = function(myAr1, myAr2) {
var w = new Window( «dialog», «Пример Listbox» );
this.windowRef = w;
w.orientation = «column»;
w.listPnl = w.add(«panel», undefined, «Списки»);
w.listPnl.orientation = «row»;

// —Добавляем первый список в панель
w.listPnl.listBox1 = w.listPnl.add( «listbox», [0, 0, 150, 200] );
var items1=new Array;

// —Заполняем первый список
for(var i=0; i<myAr1.length; i++) {
items1[i] = w.listPnl.listBox1.add( «item», myAr1[i]);
}
items1[0].selected = true;

// Добавляем группу кнопок в панель
var g = w.listPnl.add( «group» );
g.orientation = «column»;

//—Добавляем кнопку «Слева направо»
w.listPnl.leftrightButton=g.add( «button», undefined, «Слева-направо» );
// Реакция на нажатие:
w.listPnl.leftrightButton.onClick = function() {
var sel1 = w.listPnl.listBox1.selection;
if(sel1 != null)  {
w.listPnl.listBox2.add(«item», sel1);
w.listPnl.listBox1.remove(sel1); }

} //function
// —Добавляем кнопку  «Справа-налево»
w.listPnl.rightleftButton=g.add( «button», undefined, «Справа-налево» );
// Реакция на нажатие:
w.listPnl.rightleftButton.onClick = function() {
var sel2 = w.listPnl.listBox2.selection;
if(sel2 != null) {
w.listPnl.listBox1.add(«item», sel2);
w.listPnl.listBox2.remove(sel2); }

} //function
//——————————————————
// Добавляем в панель второй список

w.listPnl.listBox2 = w.listPnl.add( «listbox», [0, 0, 150, 200]);
var items2=new Array;
for(var j=0; j<myAr2.length; j++) {
items2[j] = w.listPnl.listBox2.add( «item», myAr2[j]);
}
items2[0].selected = true;

//—- Реакция на двойной щелчок у первого списка
w.listPnl.listBox1.onDoubleClick = function() {
var sel1 = w.listPnl.listBox1.selection;
if(sel1 != null)  {
w.listPnl.listBox2.add(«item», sel1);
w.listPnl.listBox1.remove(sel1); }

} //fnc
// — Реакция на двойной щелчок у второго списка

w.listPnl.listBox2.onDoubleClick = function() {
var sel2 = w.listPnl.listBox2.selection;
if(sel2 != null) {
w.listPnl.listBox1.add(«item», sel2);
w.listPnl.listBox2.remove(sel2); }
} // function

// ——————————————————————
//Добавляем кнопки OK и Cancel как группу объектов окна w
//——————————————————————

var g = w.add( «group» );
w.okButton = g.add( «button», undefined, «OK» );
w.okButton.onClick = function() {
this.window.close( 1 );
}
w.canButton = g.add( «button», undefined, «Cancel» );
w.canButton.onClick = function() {
this.window.close( 2 );
}
return w;
}

// Основная программа
var w = getDialog(myArray1, myArray2);
w.center();

if ( w.show() == 1 ) {
myArray2 = w.listPnl.listBox2.items;
alert (myArray2);
}

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.