# Написання скриптів для &kmplot;

Одною з нових можливостей у &kde; 3.4 є те, що ви можете писати скрипти для &kmplot; за допомогою DBus у &kde; 4. Наприклад, якщо ви бажаєте визначити нову функцію `f(x)=2sin x+3cos x`, встановити товщину її лінії у 20 одиниць, а потім побудувати її графік, наберіть у терміналі:

`qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""` В результаті буде повернено номер-ідентифікатор нової функції, або -1, якщо цю функцію неможливо визначити.

`qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth ID 20` Ця команда встановлює для функції з номером-ідентифікатором ID товщину лінії 20.

`qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot` Ця команда перемальовує вікно так, щоб функція стала видимою.

Список доступних функцій:

/kmplot org.kde.kmplot.KmPlot.fileOpen url

  Завантажити файл з адресою `url`.

/maindlg org.kde.kmplot.MainDlg.isModified

  Повертає значення "true", якщо не сталося ніяких змін.

/maindlg org.kde.kmplot.MainDlg.checkModified

  Якщо існують якісь незбережені зміни, з’явиться діалогове вікно з пропозицією зберегти, викинути зміни у графіках або скасувати вихід.

/maindlg org.kde.kmplot.MainDlg.editAxes

  Відкриває діалогове вікно зміни координатної системи.

/maindlg org.kde.kmplot.MainDlg.toggleShowSlider

  Показує або ховає вікно з повзунком для зміни параметра.

/maindlg org.kde.kmplot.MainDlg.slotSave

  Зберігає функції (відкриває діалогове вікно збереження, якщо це новий файл).

/maindlg org.kde.kmplot.MainDlg.slotSaveas

  Те саме, що й вибір пункту меню Файл Зберегти як.

/maindlg org.kde.kmplot.MainDlg.slotPrint

  Відкриває діалог друку графіка.

/maindlg org.kde.kmplot.MainDlg.slotResetView

  Те саме, що й вибір пункту меню Вигляд Оновити перегляд.

/maindlg org.kde.kmplot.MainDlg.slotExport

  Відкриває діалогове вікно експорту.

/maindlg org.kde.kmplot.MainDlg.slotSettings

  Відкриває діалогове вікно параметрів.

/maindlg org.kde.kmplot.MainDlg.slotNames

  Показує вже визначені математичні функції у довіднику

/maindlg org.kde.kmplot.MainDlg.findMinimumValue

  Те саме, що й вибір пункту меню Інструменти Знайти мінімум....

/maindlg org.kde.kmplot.MainDlg.findMaximumValue

  Те саме, що й вибір пункту меню Інструменти Знайти максимум....

/maindlg org.kde.kmplot.MainDlg.graphArea

  Те саме, що й вибір пункту меню Інструменти Намалювати область.

/maindlg org.kde.kmplot.MainDlg.calculator

  Те саме, що й вибір пункту меню Інструменти Калькулятор.

/parser org.kde.kmplot.Parser.addFunction f_str0 f_fstr1

  Додає нову функцію за допомогою виразів `f_str0` і `f_str1`. Якщо у виразі не міститься назви функції, цю назву буде створено автоматично. Буде повернуто номер id нової функції, або -1, якщо функцію визначити не вдалося.

/parser org.kde.kmplot.Parser.removeFunction id

  Вилучає функцію з номером ідентифікатора `id`. Якщо функцію не вдалося вилучити, буде повернено "false", у протилежному випадку "true".

/parser org.kde.kmplot.Parser.setFunctionExpression id eq f_str

  Встановлює вираз для функції з номером ідентифікатора `id` у значення параметра `f_str`. Повертає "true" у разі успіху, у іншому випадку — "false".

/parser org.kde.kmplot.Parser.countFunctions

  Повертає кількість функцій (функція, задана параметрично, вважається двома функціями).

/parser org.kde.kmplot.Parser.listFunctionNames

  Повертає список усіх функцій.

/parser org.kde.kmplot.Parser.fnameToID f_str

  Повертає номер ідентифікатора функції з назвою `f_str` або -1, якщо функції з назвою `f_str` не буде знайдено.

/parser org.kde.kmplot.Parser.functionFVisible id

  Повертає "true", якщо графік функції з ідентифікатором `id` видимий, у іншому випадку — "false".

/parser org.kde.kmplot.Parser.functionF1Visible id

  Повертає "true", якщо графік першої похідної функції з ідентифікатором `id` видимий, у іншому випадку — "false".

/parser org.kde.kmplot.Parser.functionF2Visible id

  Повертає "true", якщо графік другої похідної функції з ідентифікатором `id` видимий, у іншому випадку — "false".

/parser org.kde.kmplot.Parser.functionIntVisible id

  Повертає "true", якщо графік первісної функції з ідентифікатором `id` видимий, у іншому випадку — "false".

/parser org.kde.kmplot.Parser.setFunctionFVisible id visible

  Показує графік функції з ідентифікатором `id`, якщо параметр `visible` має значення "true". Якщо ж параметр `visible` має значення "false", функцію буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionF1Visible id visible

  Показує графік першої похідної функції з ідентифікатором `id`, якщо параметр `visible` має значення "true". Якщо ж параметр `visible` має значення "false", першу похідну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionF2Visible id visible

  Показує графік другої похідної функції з ідентифікатором `id`, якщо параметр `visible` має значення "true". Якщо ж параметр `visible` має значення "false", другу похідну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionIntVisible id visible

  Показує графік первісної функції з ідентифікатором `id`, якщо параметр `visible` має значення "true". Якщо ж параметр `visible` має значення "false", первісну функції буде сховано. Буде повернуто "true" якщо функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.functionStr id eq

  Повертає вираз для функції з ідентифікатором `id`. Якщо такої функції не існує, буде повернуто порожній рядок.

/parser org.kde.kmplot.Parser.functionFLineWidth id

  Повертає товщину лінії графіка функції з ідентифікатором `id`. Якщо такої функції не існує, повертає 0.

/parser org.kde.kmplot.Parser.functionF1LineWidth id

  Повертає товщину лінії графіка першої похідної функції з ідентифікатором `id`. Якщо такої функції не існує, повертає 0.

/parser org.kde.kmplot.Parser.functionF2LineWidth id

  Повертає товщину лінії графіка першої похідної функції з ідентифікатором `id`. Якщо такої функції не існує, повертає 0.

/parser org.kde.kmplot.Parser.functionIntLineWidth id

  Повертає товщину лінії графіка первісної функції з ідентифікатором `id`. Якщо такої функції не існує, повертає 0.

/parser org.kde.kmplot.Parser.setFunctionFLineWidth id linewidth

  Встановлює товщину лінії графіка функції з ідентифікатором `id` у значення `linewidth`. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionF1LineWidth id linewidth

  Встановлює товщину лінії графіка першої похідної функції з ідентифікатором `id` у значення `linewidth`. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionF2LineWidth id linewidth

  Встановлює товщину лінії графіка другої похідної функції з ідентифікатором `id` у значення `linewidth`. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionIntLineWidth id linewidth

  Встановлює товщину лінії графіка первісної функції з ідентифікатором `id` у значення `linewidth`. Буде повернуто "true", якщо така функція існує, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.functionParameterList id

  Повертає список всіх значень параметрів для функції з ідентифікатором `id`.

/parser org.kde.kmplot.Parser.functionAddParameter id new_parameter

  Додає значення параметра `new_parameter` до функції з ідентифікатором `id`. У випадку успіху буде повернуто "true", у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.functionRemoveParameter id remove_parameter

  Вилучає значення параметра `remove_parameter` з функції з ідентифікатором `id`. У випадку успіху буде повернуто "true", у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.functionMinValue id

  Повертає мінімальне значення діапазону побудови функції з ідентифікатором `id`. Якщо функції не існує або мінімальне значення не визначено, буде повернуто порожній рядок.

/parser org.kde.kmplot.Parser.functionMaxValue id

  Повертає максимальне значення діапазону побудови функції з ідентифікатором `id`. Якщо функції не існує або максимальне значення не визначено, буде повернуто порожній рядок.

/parser org.kde.kmplot.Parser.setFunctionMinValue id min

  Встановлює мінімальне значення діапазону побудови функції з ідентифікатором `id` у `min`. Буде повернуто "true", якщо функція існує і вираз є коректним, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.setFunctionMaxValue id max

  Встановлює максимальне значення діапазону побудови функції з ідентифікатором `id` у `max`. Буде повернуто "true", якщо функція існує і вираз є коректним, у іншому випадку буде повернуто "false".

/parser org.kde.kmplot.Parser.functionStartXValue id

  Повертає початкове значення за x інтегралу функції з ідентифікатором `id`. Якщо функції не існує, або вираз для точки за x не визначено, буде повернуто порожній рядок.

/parser org.kde.kmplot.Parser.functionStartYValue id

  Повертає початкове значення за y інтегралу функції з ідентифікатором `id`. Якщо функції не існує, або вираз для точки за y не визначено, буде повернуто порожній рядок.

/parser org.kde.kmplot.Parser.setFunctionStartValue id x y

  Встановлює значення x і y точки, через яку має проходити первісна (невизначений інтеграл) функції з ідентифікатором `id`, у `x` і `y`. Буде повернуто "true", якщо функція існує і вирази записано коректно, у іншому випадку буде повернуто "false".

/view org.kde.kmplot.View.stopDrawing

  Якщо &kmplot; в даний момент виконує побудову функції, побудову буде зупинено.

/view org.kde.kmplot.View.drawPlot

  Повторно будує графіки всіх функцій.