<!-- If you want to validate or edit this document separately, uncomment
this prolog
<?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1-Based Variant V1.0//EN" "dtd/kdex.dtd">
-->
<chapter id="prog-guide">
<chapterinfo>
<authorgroup>
<author
><firstname
>Alexander</firstname
> <surname
>Dymo</surname
> <affiliation
> <address
><email
>cloudtemple@mksat.net </email
></address>
</affiliation>
</author>
<author
><firstname
>Phil</firstname
> <surname
>Thompson</surname
> <affiliation
> <address
><email
>phil@river-bank.demon.co.uk </email
></address>
</affiliation>
</author>
<othercredit role="translator"
><firstname
>Олег</firstname
><surname
>Баталов</surname
><affiliation
><address
><email
>olegbatalov@mail.ru</email
></address
></affiliation
><contrib
>Перевод на русский язык</contrib
></othercredit
>
</authorgroup>
</chapterinfo>
<title
>Руководство программиста</title>
<sect1 id="how-to-use-in-progs">
<title
>Как использовать &kugar; в ваших программах для создания отчётов</title>
<itemizedlist>
<title
>Существуют несколько способов использования &kugar;</title>
<listitem>
<para
>Создать временный файл и заполнить его данными, организованными согласно <link linkend="kugardata-dtd"
>Определению типа документа (DTD) KugarData</link
>. Затем вызвать в командной оболочке <command
> kugar</command
> (<cmdsynopsis
> <command
>kugar</command
> <group
> <option
>-d <replaceable
>файл данных Kugar</replaceable
></option
> </group
><group
> <option
>-r <replaceable
>Файл шаблона Kugar </replaceable
> </option
> </group
> </cmdsynopsis
>) для предварительного просмотра и распечатки отчёта. Подробноt описание смотрите в разделе <link linkend="prog-using-for-preview"
>Использование оболочки &kugar; для предварительного просмотра отчётов</link
> </para>
</listitem>
<listitem>
<para
>Использовать &kugar; непосредственно в коде приложения. Смотрите подробности в разделе <link linkend="prog-using-widget"
>Использование классов &kugar; в отчётах</link
> </para>
</listitem>
<listitem>
<para
>Создать модуль дизайнера &Qt;, и использовать его для создания приложений &GUI; в дизайнере и подключать его к программе динамически. Подробности смотрите в разделе <link linkend="prog-designer-plugin"
>Создание модулей дизайнера &Qt;</link
>. </para>
</listitem>
</itemizedlist>
<para
>Два последних метода приемлемы для разработчиков &Qt; и &kde;, но &kugar; спроектирован генератором отчётов, независящим от языка программирования и/или <acronym
>IDE</acronym
>. Он использует формат &XML; для описания шаблона отчёта и фала данных. Так что любая программа может произвести вывод в в формат файла данных &kugar;, как описано в <link linkend="kugardata-dtd"
>KugarData <acronym
>DTD</acronym
></link
> или даже в формат файла шаблона отчёта (см. <link linkend="template-dtd"
>KugarTemplate <acronym
>DTD</acronym
></link
>). Оболочка &kugar; (программа просмотра отчётов) может использоваться для предварительного просмотра и печати созданных отчётов. </para>
</sect1>
<sect1 id="prog-using-for-preview">
<title
>Использование оболочки &kugar; для предварительного просмотра отчётов</title>
<orderedlist>
<title
>Способ создания и предварительного просмотра (печати) отчёта состоит из:</title>
<listitem>
<para
>Создания с помощью &kudesigner; шаблона отчёта. </para>
</listitem>
<listitem>
<para
>Создания файла данных со значениями столбцов для секций в отчёте. Используя <link linkend="kugardata-dtd"
>KugarData <acronym
>DTD</acronym
></link
> для производства корректных файлов данных. </para>
</listitem>
<listitem>
<para
>Выполнения оболочки &kugar; для предварительного просмотра и печати отчёта. Например, для этого в языке C или C++ вызовите:</para>
>Библиотека &kugar; включает два класса визуальных элементов для использования. </para>
<para
>Класс <classname
>KReportViewer</classname
> предназначен для разработчиков &kde;. Он поддерживает систему печати &kde; и локализацию &UNIX; через вызовы функции <function
>i18n()</function
>. </para>
<para
><classname
>MReportViewer</classname
> предназначен для разработчиков &Qt; и предоставляет реальную кросс+платформенность. Он может использоваться не только на платформах &UNIX;, но также и на &Windows; и &MacOS;. </para>
<para
>Чтобы создать программу, использующую библиотеку &kugar;, она должна быть связана с разделяемой библиотекой <filename
>libkugar.so</filename
>, которая обеспечивает работу &kugar; на всех платформах &UNIX;. </para>
<para
>Включить файлы <filename
>kugarqt.h</filename
> и <filename
>kugar.h</filename
> для программ &Qt; и &kde; соответственно. </para>
<para
>Для подробных примеров использования классов &kugar;, смотрите каталог <filename class="directory"
>/shell</filename
> в исходных текстах &kugar;. </para>
<para
><classname
>MReportViewer</classname
> (а также <classname
>KReportViewer</classname
>) содержат несколько открытых методов, которые можно использовать. </para>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>renderReport</function
> </funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Вывести отчёт на экран.</funcsynopsisinfo>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>printReport</function
></funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Вызвать диалог печати для распечатки отчёта.</funcsynopsisinfo>
</funcsynopsis>
<funcsynopsis>
<funcprototype>
<funcdef
>void <function
>clearReport</function
></funcdef>
<void/>
</funcprototype>
<funcsynopsisinfo
>Очистить отчёт на экране и удалить его данные. Вызывайте его перед открытием нового отчёта.</funcsynopsisinfo>