<chapter id="dcop">
	<title
>Написання скриптів для &kmplot;</title>
	<para
>Одною з нових можливостей у &kde; 3.4 є те, що ви можете писати скрипти для &kmplot; за допомогою &DBus; у &kde; 4. Наприклад, якщо ви бажаєте визначити нову функцію <userinput
>f(x)=2sin x+3cos x</userinput
>, встановити товщину її лінії у 20 одиниць, а потім побудувати її графік, наберіть у терміналі:</para>
	<para
><command
>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""</command
> В результаті буде повернено номер-ідентифікатор нової функції, або -1, якщо цю функцію неможливо визначити.</para>
	<para
><command
>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth ID 20</command
> Ця команда встановлює для функції з номером-ідентифікатором ID товщину лінії 20.</para>
	<para
><command
>qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot</command
> Ця команда перемальовує вікно так, щоб функція стала видимою.</para>
<para
>Список доступних функцій: <variablelist>
		<varlistentry>
			<term
>/kmplot org.kde.kmplot.KmPlot.fileOpen url </term>
			<listitem>
				<para
>Завантажити файл з адресою <parameter
>url</parameter
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.isModified </term>
			<listitem>
				<para
>Повертає значення "true", якщо не сталося ніяких змін.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.checkModified </term>
			<listitem>
				<para
>Якщо існують якісь незбережені зміни, з’явиться діалогове вікно з пропозицією зберегти, викинути зміни у графіках або скасувати вихід.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.editAxes </term>
			<listitem>
				<para
>Відкриває діалогове вікно зміни координатної системи.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.toggleShowSlider </term>
			<listitem>
				<para
>Показує або ховає вікно з повзунком для зміни параметра.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotSave </term>
			<listitem>
				<para
>Зберігає функції (відкриває діалогове вікно збереження, якщо це новий файл).</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotSaveas </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Файл</guimenu
><guimenuitem
>Зберегти як</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotPrint </term>
			<listitem>
				<para
>Відкриває діалог друку графіка.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotResetView </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Перегляд</guimenu
><guimenuitem
>Оновити перегляд</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotExport </term>
			<listitem>
				<para
>Відкриває діалогове вікно експорту.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotSettings </term>
			<listitem>
				<para
>Відкриває діалогове вікно параметрів.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.slotNames </term>
			<listitem>
				<para
>Показує вже визначені математичні функції у довіднику</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.findMinimumValue </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Інструменти</guimenu
><guimenuitem
>Знайти мінімум...</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.findMaximumValue </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Інструменти</guimenu
><guimenuitem
>Знайти максимум...</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.graphArea </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Інструменти</guimenu
><guimenuitem
>Намалювати область</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/maindlg org.kde.kmplot.MainDlg.calculator </term>
			<listitem>
				<para
>Те саме, що й вибір пункту меню <menuchoice
><guimenu
>Інструменти</guimenu
><guimenuitem
>Калькулятор</guimenuitem
></menuchoice
>.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/parser org.kde.kmplot.Parser.addFunction f_str0 f_fstr1 </term>
			<listitem>
				<para
>Додає нову функцію за допомогою виразів <parameter
>f_str0</parameter
> і <parameter
>f_str1</parameter
>. Якщо у виразі не міститься назви функції, цю назву буде створено автоматично. Буде повернуто номер id нової функції, або -1, якщо функцію визначити не вдалося.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/parser org.kde.kmplot.Parser.removeFunction id </term>
			<listitem>
				<para
>Вилучає функцію з номером ідентифікатора <parameter
>id</parameter
>. Якщо функцію не вдалося вилучити, буде повернено "false", у протилежному випадку "true".</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/parser org.kde.kmplot.Parser.setFunctionExpression id eq f_str </term>
			<listitem>
				<para
>Встановлює вираз для функції з номером ідентифікатора <parameter
>id</parameter
> у значення параметра <parameter
>f_str</parameter
>. Повертає "true" у разі успіху, у іншому випадку — "false".</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/parser org.kde.kmplot.Parser.countFunctions </term>
			<listitem>
				<para
>Повертає кількість функцій (функція, задана параметрично, вважається двома функціями).</para>
			</listitem>
		</varlistentry>
<!-- method double org.kde.kmplot.Parser.fkt(uint id, uint eq, double eq) what is this?-->
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.listFunctionNames </term>
		  <listitem>
		    <para
>Повертає список усіх функцій.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.fnameToID f_str </term>
		  <listitem>
		    <para
>Повертає номер ідентифікатора функції з назвою <parameter
>f_str</parameter
> або -1, якщо функції з назвою <parameter
>f_str</parameter
> не буде знайдено.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionFVisible id </term>
		  <listitem>
		    <para
>Повертає "true", якщо графік функції з ідентифікатором <parameter
>id</parameter
> видимий, у іншому випадку — "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionF1Visible id </term>
		  <listitem>
		    <para
>Повертає "true", якщо графік першої похідної функції з ідентифікатором <parameter
>id</parameter
> видимий, у іншому випадку — "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionF2Visible id </term>
		  <listitem>
		    <para
>Повертає "true", якщо графік другої похідної функції з ідентифікатором <parameter
>id</parameter
> видимий, у іншому випадку — "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionIntVisible id </term>
		  <listitem>
		    <para
>Повертає "true", якщо графік первісної функції з ідентифікатором <parameter
>id</parameter
> видимий, у іншому випадку — "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionFVisible id visible </term>
		  <listitem>
		    <para
>Показує графік функції з ідентифікатором <parameter
>id</parameter
>, якщо параметр <parameter
>visible</parameter
> має значення "true". Якщо ж параметр <parameter
>visible</parameter
> має значення "false", функцію буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionF1Visible id visible </term>
		  <listitem>
		    <para
>Показує графік першої похідної функції з ідентифікатором <parameter
>id</parameter
>, якщо параметр <parameter
>visible</parameter
> має значення "true". Якщо ж параметр <parameter
>visible</parameter
> має значення "false", першу похідну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionF2Visible id visible </term>
		  <listitem>
		    <para
>Показує графік другої похідної функції з ідентифікатором <parameter
>id</parameter
>, якщо параметр <parameter
>visible</parameter
> має значення "true". Якщо ж параметр <parameter
>visible</parameter
> має значення "false", другу похідну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionIntVisible id visible </term>
		  <listitem>
		    <para
>Показує графік первісної функції з ідентифікатором <parameter
>id</parameter
>, якщо параметр <parameter
>visible</parameter
> має значення "true". Якщо ж параметр <parameter
>visible</parameter
> має значення "false", первісну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionStr id eq </term>
		  <listitem>
		    <para
>Повертає вираз для функції з ідентифікатором <parameter
>id</parameter
>. Якщо такої функції не існує, буде повернуто порожній рядок.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionFLineWidth id </term>
		  <listitem>
		    <para
>Повертає товщину лінії графіка функції з ідентифікатором <parameter
>id</parameter
>. Якщо такої функції не існує, повертає 0.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionF1LineWidth id </term>
		  <listitem>
		    <para
>Повертає товщину лінії графіка першої похідної функції з ідентифікатором <parameter
>id</parameter
>. Якщо такої функції не існує, повертає 0.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionF2LineWidth id </term>
		  <listitem>
		    <para
>Повертає товщину лінії графіка першої похідної функції з ідентифікатором <parameter
>id</parameter
>. Якщо такої функції не існує, повертає 0.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionIntLineWidth id </term>
		  <listitem>
		    <para
>Повертає товщину лінії графіка первісної функції з ідентифікатором <parameter
>id</parameter
>. Якщо такої функції не існує, повертає 0.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionFLineWidth id linewidth </term>
		  <listitem>
		    <para
>Встановлює товщину лінії графіка функції з ідентифікатором <parameter
>id</parameter
> у значення <parameter
>linewidth</parameter
>. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionF1LineWidth id linewidth </term>
		  <listitem>
		    <para
>Встановлює товщину лінії графіка першої похідної функції з ідентифікатором <parameter
>id</parameter
> у значення <parameter
>linewidth</parameter
>. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionF2LineWidth id linewidth </term>
		  <listitem>
		    <para
>Встановлює товщину лінії графіка другої похідної функції з ідентифікатором <parameter
>id</parameter
> у значення <parameter
>linewidth</parameter
>. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionIntLineWidth id linewidth </term>
		  <listitem>
		    <para
>Встановлює товщину лінії графіка первісної функції з ідентифікатором <parameter
>id</parameter
> у значення <parameter
>linewidth</parameter
>. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionParameterList id </term>
		  <listitem>
		    <para
>Повертає список всіх значень параметрів для функції з ідентифікатором <parameter
>id</parameter
>.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionAddParameter id new_parameter </term>
		  <listitem>
		    <para
>Додає значення параметра <parameter
>new_parameter</parameter
> до функції з ідентифікатором <parameter
>id</parameter
>. У випадку успіху буде повернуто "true", у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionRemoveParameter id remove_parameter </term>
		  <listitem>
		    <para
>Вилучає значення параметра <parameter
>remove_parameter</parameter
> з функції з ідентифікатором <parameter
>id</parameter
>. У випадку успіху буде повернуто "true", у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionMinValue id </term>
		  <listitem>
		    <para
>Повертає мінімальне значення діапазону побудови функції з ідентифікатором <parameter
>id</parameter
>. Якщо функції не існує або мінімальне значення не визначено, буде повернуто порожній рядок.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionMaxValue id </term>
		  <listitem>
		    <para
>Повертає максимальне значення діапазону побудови функції з ідентифікатором <parameter
>id</parameter
>. Якщо функції не існує або максимальне значення не визначено, буде повернуто порожній рядок.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionMinValue id min </term>
		  <listitem>
		    <para
>Встановлює мінімальне значення діапазону побудови функції з ідентифікатором <parameter
>id</parameter
> у <parameter
>min</parameter
>. Буде повернуто "true", якщо функція існує і вираз є коректним, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionMaxValue id max </term>
		  <listitem>
		    <para
>Встановлює максимальне значення діапазону побудови функції з ідентифікатором <parameter
>id</parameter
> у <parameter
>max</parameter
>. Буде повернуто "true", якщо функція існує і вираз є коректним, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionStartXValue id </term>
		  <listitem>
		    <para
>Повертає початкове значення за x інтегралу функції з ідентифікатором <parameter
>id</parameter
>. Якщо функції не існує, або вираз для точки за x не визначено, буде повернуто порожній рядок.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.functionStartYValue id </term>
		  <listitem>
		    <para
>Повертає початкове значення за y інтегралу функції з ідентифікатором <parameter
>id</parameter
>. Якщо функції не існує, або вираз для точки за y не визначено, буде повернуто порожній рядок.</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
		  <term
>/parser org.kde.kmplot.Parser.setFunctionStartValue id x y </term>
		  <listitem>
		    <para
>Встановлює значення x і y точки, через яку має проходити первісна (невизначений інтеграл) функції з ідентифікатором <parameter
>id</parameter
>, у <parameter
>x</parameter
> і <parameter
>y</parameter
>. Буде повернуто "true", якщо функція існує і вирази записано коректно, у іншому випадку буде повернуто "false".</para>
		  </listitem>
		</varlistentry>
		<varlistentry>
			<term
>/view org.kde.kmplot.View.stopDrawing </term>
			<listitem>
				<para
>Якщо &kmplot; в даний момент виконує побудову функції, побудову буде зупинено.</para>
			</listitem>
		</varlistentry>
		<varlistentry>
			<term
>/view org.kde.kmplot.View.drawPlot </term>
			<listitem>
				<para
>Повторно будує графіки всіх функцій.</para>
			</listitem>
		</varlistentry>
	</variablelist>
</para>
</chapter>

<!--
    Local Variables:
    mode: sgml
    sgml-minimize-attributes:nil
    sgml-general-insert-case:lower
    sgml-indent-step:0
    sgml-indent-data:nil
    sgml-parent-document:("index.docbook" "BOOK" "CHAPTER")
    End:
    -->
