# Инструмент Редактор на скриптове

Приложенията на &kde; могат да се управляват външно от друга програма, от команда на конзолата или от шел скрипт, използвайки протокола за междупроцесна комуникация (&DBus;). &kstars; използва предимствата на тази функция, за да позволи изпълняването на комплексни задачи по всяко време посредством скриптове. Това може да се използва, например, за създаване на демонстрация в класна стая за илюстриране на дадена астрономическа концепция.

Проблемът с D-Bus скриптовете е, че писането им е малко като програмиране и може да изглежда плашещо за тези, които нямат опит в програмирането. Инструментът за създаване на скриптове предоставя графичен интерфейс с посочване и щракване с мишката за конструиране на D-Bus скриптове за &kstars;, което прави много лесно създаването на сложни скриптове.

## Въведение в създаването на скриптове

Преди да обясним, как да използваме редактора на скриптове, ще представим накратко всички графични компоненти на инструмента. За повече информация използвайте функцията "Какво е това?".

Инструмент Редактор на скриптове Инструмент Редактор на скриптове

Редакторът на скриптове е показан на екранната снимка по-горе. Полето отляво е полето Текущ скрипт; показва списъка с команди, които съставляват текущия работен скрипт. Полето вдясно предоставя наличните функции. Отдолу има малък панел, който показва кратка документация за избраната функцията. В панела под полето Текущ скрипт е разположено полето за аргументите на дадена функция. Когато една функция е маркирана в полето Текущ скрипт, това поле ще съдържа елементи за указване на стойности за необходимите аргументи, които маркираната функция изисква.

В горната част на прозореца има ред икони, които от ляво надясно задават следните операции върху скрипта: Нов скрипт, Отваряне на скрипт..., Запис на скрипт, Запис на скрипт като..., и Изпробване на скрит. Функцията на тези бутони трябва да е очевидна, с изключение може би на последния бутон. При натискането на Изпробване на скрит &kstars; ще се опита да изпълни текущия скрипт в главния прозорец. Трябва да преместите прозореца на редактора на скриптове извън небесната карта преди тестването, за да можете да видите резултатите.

В центъра на прозореца има колона с икони, с които се обработват отделните функции на скрипта. Отгоре надолу те са: Добавяне на функция, Премахване на функция, Копиране на функция, Нагоре, и Надолу. Бутонът Добавяне на функция добавя текущо маркираната функция от полето в дясно в полето Текущ скрипт. Можете също да добавите функция, като щракнете двукратно върху нея. Останалите бутони извършват следните операции върху функцията, маркирана в полето Текущ скрипт: премахване, дублиране или промяна на позицията ѝ в текущия скрипт.

## Използване на редактора на скриптове

За да илюстрираме използването на редактора на скриптове, представяме малък примерен урок, където правим скрипт, който проследява Луната, докато часовникът работи с ускорена скорост.

Ако ще проследяваме Луната, ще трябва първо да насочим дисплея към нея. Функцията lookToward се използва за това. Маркирайте тази функция в полето от дясно и обърнете внимание на документацията, показана в панела под списъка. Натиснете бутона Добавяне на функция, за да добавите тази функция в полето Текущ скрипт. Панелът с аргументи на функцията вече ще съдържа падащ списък с надпис Посока. Това е посоката, в която трябва да бъде насочен екранът. Полето съдържа само главните точки на компаса, но не Луната или други обекти. Можете да въведете Луна в полето ръчно, или натиснете бутона Обект..., за да използвате диалоговия прозорец Намиране на обект..., за да изберете Луната от списъка. Имайте предвид, че обикновено, центрирането върху обект автоматично включва режим за проследяване на обекта, така че няма нужда да добавяте функцията setTracking след lookToward.

След като се погрижихме да насочим екранът към Луната, сега искаме да направим така, че времето да тече с ускорен темп напред. Използвайте функцията setClockScale за това. Добавете я към скрипта, като щракнете двукратно върху нея в списъка с функциите. Панелът с аргументи на функцията съдържа поле за настройка на времевата стъпка за симулационния часовник. Задайте времевата стъпка на 3 часа.

Добре, насочихме екрана към Луната и ускорихме часовника. Сега ние просто искаме скриптът да изчака няколко секунди, докато дисплеят следи Луната. Добавете функцията waitFor към скрипта и използвайте панела с аргументи на функцията, за да укажете, че трябва да изчака 20 секунди преди да продължи.

За да завършим, нека върнем времевата стъпка на часовника до нормалната стойност от 1 секунда. Добавете друго копие на setClockScale и задайте стойността ѝ на 1 сек.

Всъщност все още не сме съвсем готови. Вероятно трябва да се уверим, че дисплеят използва екваториални координати, преди скриптът да проследи Луната с ускорена времева стъпка. В противен случай, ако дисплеят използва хоризонтални координати, той ще се върти много бързо през големи ъгли като Луната изгрява и залязва. Това може да бъде много объркващо и се избягва чрез задаване на опцията за изглед UseAltAz на false. За да промените която и да е опция за изглед, използвайте функцията changeViewOption. Добавете тази функция към скрипта и прегледайте панела с аргументи на функцията. Има поле с падащ списък, който съдържа всички опции, които могат да бъдат коригирани чрез changeViewOption. Както знаем, ние искаме опцията UseAltAz. Можем просто да я изберем от падащия списък, обаче този списък е доста дълъг и няма обяснение, за какво служи всеки елемент. За това може да е по-лесно да натиснем бутона Йерархичен списък..., който ще отвори прозорец, съдържащ дървовиден изглед на наличните опции, организирани по теми. Освен това всеки елемент има кратко обяснение, за какво служи и типа на данните на опцията. Намираме UseAltAz в категорията Настройки на звездната карта. Просто маркирайте този елемент и натиснете Добре и той ще бъде избран в падащия списък с аргументи на функцията. Накрая, направете стойността му false или 0.

Още една стъпка: промяната на UseAltAz в края на скрипта не ни помага; имаме нужда това да бъде променено, преди да се изпълнят другите операции. Така че, уверете се, че тази функция е маркирана в полето Текущ скрипт и натиснете бутона Нагоре, докато стане първата функция в списъка.

Сега, след като сме готови със скрипта, трябва да го запазим на диска. Натиснете бутона Запазване на скрипта. Това първо ще отвори прозорец, в който можете да въведете име за скрипта и да попълните вашето име като автор. Въведете Проследяване на Луната за име и вашето име като автор и натиснете Добре. След това ще видите стандартния диалогов прозорец за запазване на файл на KDE. Посочете име на файл за скрипта и натиснете Добре, за да запазите скрипта. Имайте предвид, че ако името на вашия файл не завършва с '.kstars', този суфикс ще бъда прикачен автоматично. Ако сте любопитни, можете да разгледате скриптовия файл с произволен текстов редактор.

Сега, след като имаме завършен скрипт, можем да го стартираме по няколко начина. От командния ред на конзолата, можете просто да изпълните скрипта, докато има отворен прозорец на &kstars;. Иначе можете да изпълните скрипта от &kstars;, като използвате елемента от менюто Файл Изпълняване на скрипт....