diff options
Diffstat (limited to 'tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook')
-rw-r--r-- | tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook | 257 |
1 files changed, 43 insertions, 214 deletions
diff --git a/tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook b/tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook index 622a6331a01..c912bf8c56d 100644 --- a/tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook +++ b/tde-i18n-ru/docs/tdeedu/kstars/dcop.docbook @@ -1,175 +1,54 @@ <chapter id="dcop"> -<title ->Сценарии в KStars: интерфейс DCOP</title> -<para ->Одна из задач &kstars; - предоставить возможность визуализировать сложные процессы из сценариев. С помощью сценариев (скриптов) вы сможете создать <quote ->виртуальные туры</quote -> по небу, или подготовить наглядную презентацию чтобы продемонстрировать основные концепции астрономии (что особенно важно для преподавателей). Можно написать сценарий для &kstars; даже если не все желаемые функции доступны. Итак, несмотря на то, что со временем у нас будет графический интерфейс для написания сценариев, сейчас они должны быть написаны вручную. Эта глава посвящена написанию сценариев &kstars;. </para> -<para ->&kde; предоставляет необходимую инфраструктуру (framework) для сценариев - интерфейс <abbrev ->DCOP</abbrev ->. <abbrev ->DCOP</abbrev -> расшифровывается как <quote ->коммуникационный протокол рабочего стола</quote -> (<quote ->Desktop Communication Protocol</quote ->). Посредством <abbrev ->DCOP</abbrev ->, приложения &kde; могут контролироваться другими приложениями, с (удалённого) терминала, или с помощью текстового сценария. </para> +<title>Сценарии в KStars: интерфейс DCOP</title> +<para>Одна из задач &kstars; - предоставить возможность визуализировать сложные процессы из сценариев. С помощью сценариев (скриптов) вы сможете создать <quote>виртуальные туры</quote> по небу, или подготовить наглядную презентацию чтобы продемонстрировать основные концепции астрономии (что особенно важно для преподавателей). Можно написать сценарий для &kstars; даже если не все желаемые функции доступны. Итак, несмотря на то, что со временем у нас будет графический интерфейс для написания сценариев, сейчас они должны быть написаны вручную. Эта глава посвящена написанию сценариев &kstars;. </para> +<para>&kde; предоставляет необходимую инфраструктуру (framework) для сценариев - интерфейс <abbrev>DCOP</abbrev>. <abbrev>DCOP</abbrev> расшифровывается как <quote>коммуникационный протокол рабочего стола</quote> (<quote>Desktop Communication Protocol</quote>). Посредством <abbrev>DCOP</abbrev>, приложения &kde; могут контролироваться другими приложениями, с (удалённого) терминала, или с помощью текстового сценария. </para> <sect1 id="dcop-interface"> -<title ->Функции DCOP </title> -<para ->Интерфейс &kstars; <abbrev ->DCOP</abbrev -> содержит следующие функции: <itemizedlist> -<listitem -><para -><function -> lookTowards( const QString direction )</function ->: Центрировать экран на направление, переданное в качестве аргумента. Это может быть название любого объекта на небе, или одно из следующих слов или сокращений: zenith (или z), north (n), northeast (ne), east (e), southeast (se), south (s), southwest(sw), west(w), northwest (nw). </para -></listitem> - -<listitem -><para -><function -> setRaDec( double ra, double dec )</function ->: Центрирует экран на переданные в качестве аргумента экваториальные координаты. </para -></listitem> - -<listitem -><para -><function -> setAltAz(double alt, double az)</function ->: Центрирует экран на переданные в качестве аргумента горизонтальные координаты. </para -></listitem> - -<listitem -><para -><function -> zoomIn()</function ->: Увеличивает изображение. </para -></listitem> - -<listitem -><para -><function -> zoomOut()</function ->: Уменьшает изображение. </para -></listitem> - -<listitem -><para -><function -> defaultZoom()</function ->: Устанавливает уровень увеличения = 3 (уровень по умолчанию). </para -></listitem> - -<listitem -><para -><function -> setLocalTime(int yr, int mth, int day, int hr, int min, int sec)</function ->: Устанавливает определённую дату и время. </para -></listitem> - -<listitem -><para -><function -> waitFor( double t )</function ->: Приостанавливает выполнение сценария на t секунд. </para -></listitem> - -<listitem -><para -><function -> waitForKey( const QString k )</function ->: Приостанавливает выполнение сценария до тех пор, пока не будет нажата определённая клавиша. С помощью этой функции вы не можете определить комбинации клавиш (таких как <keycombo action="simul" ->&Ctrl;<keycap ->C</keycap -></keycombo ->); используйте простые клавиши. Укажите <quote ->space</quote -> чтобы определить пробел. </para -></listitem> - -<listitem -><para -><function -> setTracking( bool track )</function ->: Включить трассировку. </para -></listitem> - -<listitem -><para -><function -> changeViewOption( const QString option, const QString value )</function ->: Изменить параметр вида. Доступно множество параметров; всё что можно изменить в окне <guilabel ->Настроить &kstars;</guilabel -> может быть также изменено с помощью этой функции. Первый аргумент - название параметра (названия совпадают с названиями в конфигурационном файле <filename ->kstarsrc</filename ->), второй аргумент - новое значение. Если вы случайно введёте неправильноле значение, программа завершиться с ошибкой. </para -></listitem> - -<listitem -><para -><function -> setGeoLocation( const QString city, const QString province, const QString country )</function ->: Изменить географическое местоположение на заданный город. Если такого города нет в базе данных, то ничего не произойдёт. </para -></listitem> - -<listitem -><para -><function -> stop()</function -> [clock]: Остановить "часы" симуляции. </para -></listitem> - -<listitem -><para -><function -> start()</function -> [clock]: Запустить "часы" симуляции. </para -></listitem> - -<listitem -><para -><function -> setScale(float s)</function -> [clock]: Установить скорость "часов" симуляции. s=1.0 соответствует реальному течению времени; 2.0 в два раза быстрее, и т.д. </para -></listitem> +<title>Функции DCOP </title> +<para>Интерфейс &kstars; <abbrev>DCOP</abbrev> содержит следующие функции: <itemizedlist> +<listitem><para><function> lookTowards( const QString direction )</function>: Центрировать экран на направление, переданное в качестве аргумента. Это может быть название любого объекта на небе, или одно из следующих слов или сокращений: zenith (или z), north (n), northeast (ne), east (e), southeast (se), south (s), southwest(sw), west(w), northwest (nw). </para></listitem> + +<listitem><para><function> setRaDec( double ra, double dec )</function>: Центрирует экран на переданные в качестве аргумента экваториальные координаты. </para></listitem> + +<listitem><para><function> setAltAz(double alt, double az)</function>: Центрирует экран на переданные в качестве аргумента горизонтальные координаты. </para></listitem> + +<listitem><para><function> zoomIn()</function>: Увеличивает изображение. </para></listitem> + +<listitem><para><function> zoomOut()</function>: Уменьшает изображение. </para></listitem> + +<listitem><para><function> defaultZoom()</function>: Устанавливает уровень увеличения = 3 (уровень по умолчанию). </para></listitem> + +<listitem><para><function> setLocalTime(int yr, int mth, int day, int hr, int min, int sec)</function>: Устанавливает определённую дату и время. </para></listitem> + +<listitem><para><function> waitFor( double t )</function>: Приостанавливает выполнение сценария на t секунд. </para></listitem> + +<listitem><para><function> waitForKey( const QString k )</function>: Приостанавливает выполнение сценария до тех пор, пока не будет нажата определённая клавиша. С помощью этой функции вы не можете определить комбинации клавиш (таких как <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>); используйте простые клавиши. Укажите <quote>space</quote> чтобы определить пробел. </para></listitem> + +<listitem><para><function> setTracking( bool track )</function>: Включить трассировку. </para></listitem> + +<listitem><para><function> changeViewOption( const QString option, const QString value )</function>: Изменить параметр вида. Доступно множество параметров; всё что можно изменить в окне <guilabel>Настроить &kstars;</guilabel> может быть также изменено с помощью этой функции. Первый аргумент - название параметра (названия совпадают с названиями в конфигурационном файле <filename>kstarsrc</filename>), второй аргумент - новое значение. Если вы случайно введёте неправильноле значение, программа завершиться с ошибкой. </para></listitem> + +<listitem><para><function> setGeoLocation( const QString city, const QString province, const QString country )</function>: Изменить географическое местоположение на заданный город. Если такого города нет в базе данных, то ничего не произойдёт. </para></listitem> + +<listitem><para><function> stop()</function> [clock]: Остановить "часы" симуляции. </para></listitem> + +<listitem><para><function> start()</function> [clock]: Запустить "часы" симуляции. </para></listitem> + +<listitem><para><function> setScale(float s)</function> [clock]: Установить скорость "часов" симуляции. s=1.0 соответствует реальному течению времени; 2.0 в два раза быстрее, и т.д. </para></listitem> </itemizedlist> </para> </sect1> <sect1 id="dcop-test"> -<title ->Тестирование функций DCOP</title> -<para ->Вы можете вызвать функцию DCOP использую программу <application ->kdcop</application ->. Когда вы запустите <application ->kdcop</application ->, то увидите список всех запущенных приложений; если &kstars; запущен, то увидите и его. Большинство функций <abbrev ->DCOP</abbrev -> будут выведены под заголовком <quote ->KStarsInterface</quote ->, но функции, связанные с часами, будут под заголовком <quote ->clock</quote ->. Дважды щёлкните мышью на названии функции, чтобы выполнить её. Если функция требует параметров, то откроется окно, где вам предложат ввести них. </para> +<title>Тестирование функций DCOP</title> +<para>Вы можете вызвать функцию DCOP использую программу <application>kdcop</application>. Когда вы запустите <application>kdcop</application>, то увидите список всех запущенных приложений; если &kstars; запущен, то увидите и его. Большинство функций <abbrev>DCOP</abbrev> будут выведены под заголовком <quote>KStarsInterface</quote>, но функции, связанные с часами, будут под заголовком <quote>clock</quote>. Дважды щёлкните мышью на названии функции, чтобы выполнить её. Если функция требует параметров, то откроется окно, где вам предложат ввести них. </para> </sect1> <sect1 id="dcop-script"> -<title ->Написание DCOP-сценария</title> -<para ->Функции <abbrev ->DCOP</abbrev -> могут быть вызваны и из командной строки UNIX, и также могут быть встроены в сценарий командной оболочки. Мы привели пример сценария, который переключается в экваториальные координаты, центрируется на Луну, немного увеличивает её и ускоряет часы до 1 часа в секунду. После слежения за Луной в течении 20 секунд, часы останавливаются, и изображение уменьшается. Вы можете использовать этот сценарий как шаблон для написанию других. Сначала приведём листинг этого сценария, а после объясним его отдельные части. </para> +<title>Написание DCOP-сценария</title> +<para>Функции <abbrev>DCOP</abbrev> могут быть вызваны и из командной строки UNIX, и также могут быть встроены в сценарий командной оболочки. Мы привели пример сценария, который переключается в экваториальные координаты, центрируется на Луну, немного увеличивает её и ускоряет часы до 1 часа в секунду. После слежения за Луной в течении 20 секунд, часы останавливаются, и изображение уменьшается. Вы можете использовать этот сценарий как шаблон для написанию других. Сначала приведём листинг этого сценария, а после объясним его отдельные части. </para> <para> -<programlisting ->#!/bin/bash +<programlisting>#!/bin/bash #Сценарий KStars: Следим за Луной! # KSTARS=`dcopfind -a 'kstars*'` @@ -191,60 +70,10 @@ dcop $KSTARS $MAIN defaultZoom ## </programlisting> </para> -<para ->Сохраните этот сценарий в файл с любым именем, которое вам нравится; я предлагаю использовать что-то информативное, например <filename ->trackmoon.kstars</filename ->. Выполните следующие команды, чтобы сделать сценарий исполняемым: <userinput -><command ->chmod</command -> <option ->a+x</option -> <parameter ->trackmoon.kstars</parameter -> </userinput ->. Сценарий будет выполнятся после команды <userinput -><command ->./trackmoon.kstars</command -></userinput -> выполненной в каталоге, который содержит этот сценарий. Помните, что сценарий будет выполняться, только если &kstars; уже запущен. Вы можете использовать в сценарии команду <command ->dcopstart</command -> чтобы запустить новый экземпляр &kstars;. </para> -<para ->А теперь объяснение сценария. Первая строка определяет файл как сценарий командной оболочки <command ->BASH</command ->. Следующие две строки <firstterm ->комментарии</firstterm -> (любая строка, начинающаяся со знака <quote ->#</quote -> - комментарий, и будет пропущена интерпретатором). Следующие три строки определяют некоторые удобные переменные, которые будут использованы далее. Переменная <varname ->KSTARS</varname -> определяет идентификатор текущего процесса &kstars; используя команду <command ->dcopfind</command ->. <varname ->MAIN</varname -> и <varname ->CLOCK</varname -> определяют два интерфейса <abbrev ->DCOP</abbrev -> связанных с &kstars;. </para> -<para ->Оставшиеся строки - непосредственные вызовы функций <abbrev ->DCOP</abbrev ->. Первая команда устанавливает отображение в экваториальных координатах, устанавливая опцию <quote ->UseAltAz</quote -> в <quote ->false</quote -> (вы можете увидеть все опции, которые использует <quote ->changeViewOption</quote -> в конфигурационном файле <filename ->kstarsrc</filename ->). Следующая команда центрирует экран на Луну, и автоматически начинается слежение. После этого мы устанавливаем уровень увеличения по умолчанию, и затем увеличиваем изображение в пять раз. Далее увеличиваем скорость хода часов до 1 часа в секунду (3600 секунд - один час), и запускаем часы (если они не были запущены до этого). Следующая команда приостанавливает исполнение сценария на 20 секунд, пока мы наблюдаем, как Луна движется по небу. И, наконец, мы останавливаем часы и устанавливаем уровень увеличения по умолчанию. </para> -<para ->Мы надеемся что вы рады возможностям написания сценариев в &kstars;. Если вы создали интересный сценарий, пожалуйста, отправьте его на <email ->kstars@30doradus.org</email ->; мы посмотрим, что он делает, и опубликуем некоторые на нашей веб-странице. Если у вас есть идеи по улучшению языка сценариев (или любой другой части &kstars;), сообщите нам по адресу <email ->kstars-devel@lists.sourceforge.net</email ->, или в wishlist на bugzilla. </para> +<para>Сохраните этот сценарий в файл с любым именем, которое вам нравится; я предлагаю использовать что-то информативное, например <filename>trackmoon.kstars</filename>. Выполните следующие команды, чтобы сделать сценарий исполняемым: <userinput><command>chmod</command> <option>a+x</option> <parameter>trackmoon.kstars</parameter> </userinput>. Сценарий будет выполнятся после команды <userinput><command>./trackmoon.kstars</command></userinput> выполненной в каталоге, который содержит этот сценарий. Помните, что сценарий будет выполняться, только если &kstars; уже запущен. Вы можете использовать в сценарии команду <command>dcopstart</command> чтобы запустить новый экземпляр &kstars;. </para> +<para>А теперь объяснение сценария. Первая строка определяет файл как сценарий командной оболочки <command>BASH</command>. Следующие две строки <firstterm>комментарии</firstterm> (любая строка, начинающаяся со знака <quote>#</quote> - комментарий, и будет пропущена интерпретатором). Следующие три строки определяют некоторые удобные переменные, которые будут использованы далее. Переменная <varname>KSTARS</varname> определяет идентификатор текущего процесса &kstars; используя команду <command>dcopfind</command>. <varname>MAIN</varname> и <varname>CLOCK</varname> определяют два интерфейса <abbrev>DCOP</abbrev> связанных с &kstars;. </para> +<para>Оставшиеся строки - непосредственные вызовы функций <abbrev>DCOP</abbrev>. Первая команда устанавливает отображение в экваториальных координатах, устанавливая опцию <quote>UseAltAz</quote> в <quote>false</quote> (вы можете увидеть все опции, которые использует <quote>changeViewOption</quote> в конфигурационном файле <filename>kstarsrc</filename>). Следующая команда центрирует экран на Луну, и автоматически начинается слежение. После этого мы устанавливаем уровень увеличения по умолчанию, и затем увеличиваем изображение в пять раз. Далее увеличиваем скорость хода часов до 1 часа в секунду (3600 секунд - один час), и запускаем часы (если они не были запущены до этого). Следующая команда приостанавливает исполнение сценария на 20 секунд, пока мы наблюдаем, как Луна движется по небу. И, наконец, мы останавливаем часы и устанавливаем уровень увеличения по умолчанию. </para> +<para>Мы надеемся что вы рады возможностям написания сценариев в &kstars;. Если вы создали интересный сценарий, пожалуйста, отправьте его на <email>kstars@30doradus.org</email>; мы посмотрим, что он делает, и опубликуем некоторые на нашей веб-странице. Если у вас есть идеи по улучшению языка сценариев (или любой другой части &kstars;), сообщите нам по адресу <email>kstars-devel@lists.sourceforge.net</email>, или в wishlist на bugzilla. </para> </sect1> </chapter> |