# Написання скриптів для &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

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