Глава 7. Использование сценариев в KmPlot

Для KmPlot возможно писать сценарии с помощью D-Bus. Например, чтобы определить функцию 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. Если выражение не содержит имени функции, оно будет сгенерировано автоматически. После этого будет возвращён номер-идентификатор функции или -1 в случае ошибки.

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

Удалить функцию по её номеру id. В случае ошибки возвращается false, иначе — true.

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

Изменить выражение функции с номером-идентификатором id на f_str. В случае ошибки возвращается false, иначе — true.

/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 видима.

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

Возвращает true, если видима производная первого порядка функции с номером-идентификатором id.

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

Возвращает true, если видима производная второго порядка функции с номером-идентификатором id.

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

Возвращает true, если видима первообразная функции с номером-идентификатором id.

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

Отображает график функции с идентификатором id, если параметр visible установлен в значение true. Если параметр visible установлен в значение false, эта функция будет скрыта. Возвращает true, если функция существует, в ином случае — false.

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

Отображает или скрывает первую производную функции с номером-идентификатором id. Возвращает false, если функция не существует.

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

Отображает или скрывает вторую производную функции с номером-идентификатором id. Возвращает false, если функция не существует.

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

Отображает или скрывает первообразную функции с номером-идентификатором id. Возвращает false, если функция не существует.

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

Возвращает выражение функции с номером-идентификатором id. Возвращает false, если функция не существует.

/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. Возвращает false, если функция не существует.

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

Установить толщину линии графика первой производной функции с номером-идентификатором id в linewidth. Возвращает false, если функция не существует.

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

Установить толщину линии графика второй производной функции с номером-идентификатором id в linewidth. Возвращает false, если функция не существует.

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

Установить толщину линии графика первообразной функции с номером-идентификатором id в linewidth. Возвращает false, если функция не существует.

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

Возвращает список всех значений параметра функции с номером-идентификатором id.

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

Добавить значение параметра new_parameter функции с номером id. Возвращает false в случае ошибки.

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

Удалить значение параметра remove_parameter функции с номером id. Возвращает 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. Если функция не существует или выражение недопустимо, возвращается false.

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

Устанавливает максимум области построения функции с номером-идентификатором idв min. Если функция не существует или выражение недопустимо, возвращается false.

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

Возвращает начальную абсциссу для первообразной функции с номером-идентификатором id. Если функция не существует или выражение абсциссы не определено, возвращается пустая строка.

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

Возвращает начальную ординату для первообразной функции с номером-идентификатором id. Если функция не существует или выражение ординаты не определено, возвращается пустая строка.

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

Устанавливает начальную абсциссу и ординату для первообразной функции с идентификатором id в x и y. Возвращает true, если функция существует и выражение допустимо, в ином случае — false.

/view org.kde.kmplot.View.stopDrawing

Если KmPlot в данный момент рисует график функции, это будет остановлено.

/view org.kde.kmplot.View.drawPlot

Перерисовать все графики функций.