# Scripting &kmplot;

A new feature in &kde; 3.4 is that you can write scrips for &kmplot; with &DCOP;. For example, if you want to define a new function `f(x)=2sin x+3cos x`, set its line width to 20 and then draw it, you type in a console:

`dcop kmplot-PID Parser addFunction "f(x)=2sin x+3cos x"` As a result, the new function's id number will be returned, or -1 if the function could not be defined.

`>dcop kmplot-PID Parser setFunctionFLineWidth 20 ID` This command sets the function with the id number ID the line width to 20.

`>dcop kmplot-PID View drawPlot` This command repaints the window so that the function get visible.

A list over the available functions:

KmPlotShell fileOpen &url

- Load the file `url`.

MainDlg isModified

- Returns true if any changes are done.

MainDlg editColors

- Opens the color edit dialog.

MainDlg editAxes

- Opens the coordinate system edit dialog.

MainDlg editScaling

- Opens the scaling edit dialog.

MainDlg editFonts

- Opens the fonts edit dialog.

MainDlg editConstants

- Opens the constants edit dialog.

MainDlg newFunction

- Opens the new function plot dialog.

MainDlg newParametric

- Opens the new parametric plot dialog.

MainDlg newPolar

- Opens the new polar plot dialog.

MainDlg toggleShowSlider0

- Shows/hides parameter slider window number 1.

MainDlg toggleShowSlider1

- Shows/hides parameter slider window number 2.

MainDlg toggleShowSlider2

- Shows/hides parameter slider window number 3.

MainDlg toggleShowSlider3

- Shows/hides parameter slider window number 4.

MainDlg slotSave

- Saves the functions (opens the save dialog if it is a new file).

MainDlg slotSaveas

- The same as choosing File Save As in the menu.

MainDlg slotEditPlots

- Opens the edit plots dialog.

MainDlg slotPrint

- Opens the print dialog.

MainDlg slotExport

- Opens the export dialog.

MainDlg slotSettings

- Opens the settings dialog.

MainDlg slotNames

- Shows a list of predefined math functions.

MainDlg slotCoord1

- Coordinate System I.

MainDlg slotCoord2

- Coordinate System II.

MainDlg slotCoord3

- Coordinate System III.

MainDlg getYValue

- The same as choosing Tools Get y-Value... in the menu.

MainDlg findMinimumValue

- The same as choosing Tools Search for Minimum Value... in the menu.

MainDlg findMaximumValue

- The same as choosing Tools Search for Maximum Value... in the menu.

MainDlg graphArea

- The same as choosing Tools Calculate Integral in the menu.

Parser addFunction f_str

- Adds a new function with the expression `f_str`. If the expression does not contain a function name, it will be auto-generated. The id number of the new function is returned, or -1 if the function couln't be defined.

Parser delfkt id

- Removes the function with the id number `id`. If the function could not be deleted, false is returned, otherwise true.

Parser setFunctionExpression f_str id

- Sets the expression for the function with the id number `id` to `f_str`. Returns true if it succeed, otherwise false.

Parser countFunctions

- Returns the number of functions (parametric functions are calculated as two).

Parser listFunctionNames

- Returns a list with all functions.

Parser fnameToId f_str

- Returns the id number of `f_str` or -1 if the function name `f_str` was not found.

Parser id x

- Calculates the value `x` for the function with the ID `id` or returns 0.0 if `id` does not exist.

Parser functionFVisible id

- Returns true if the function with the ID `id` is visible, otherwise false.

Parser functionF1Visible id

- Returns true if the first derivative of the function with the ID `id` is visible, otherwise false.

Parser functionF2Visible id

- Returns true if the second derivative of the function with the ID `id` is visible, otherwise false.

Parser functionIntVisible id

- Returns true if the integral of the function with the ID `id` is visible, otherwise false.

Parser setFunctionFVisible visible id

- Shows the function with the ID `id` if `visible` is true. If `visible` is false, the function will be hidden. True is returned if the function exists, otherwise false

Parser setFunctionF1Visible visible id

- Shows the first derivative of the function with the ID `id` if `visible` is true. If `visible` is false, the function will be hidden. True is returned if the function exists, otherwise false.

Parser setFunctionF2Visible visible id

- Shows the second derivative of the function with the ID `id` if `visible` is true. If `visible` is false, the function will be hidden. True is returned if the function exists, otherwise false.

Parser setFunctionIntVisible visible id

- Shows the integral of the function with the ID `id` if `visible` is true. If `visible` is false, the function will be hidden. True is returned if the function exists, otherwise false.

Parser functionStr id

- Returns the function expression of the function with the ID `id`. If the function not exists, an empty string is returned instead.

Parser functionFColor id

- Returns the color of the function with the ID `id`.

Parser functionF1Color id

- Returns the color of the first derivative of the function with the ID `id`.

Parser functionF2Color id

- Returns the color of the second derivative of the function with the ID `id`.

Parser functionIntColor id

- Returns the color of the integral of the function with the ID `id`.

Parser setFunctionFColor color id

- Sets the color of the function with the ID `id` to `color`. True is returned if the function exists, otherwise false.

Parser setFunctionF1Color color id

- Sets the color of the first derivative of the function with the ID `id` to `color`. True is returned if the function exists, otherwise false.

Parser setFunctionF2Color color id

- Sets the color of the second derivative of the function with the ID `id` to `color`. True is returned if the function exists, otherwise false.

Parser setFunctionIntColor color id

- Sets the color of the integral of the function with the ID `id` to `color`. True is returned if the function exists, otherwise false.

Parser functionFLineWidth id

- Returns the line width of the function with the ID `id`. If the function not exists, 0 is returned.

Parser functionF1LineWidth id

- Returns the line width of the first derivative of the function with the ID `id`. If the function not exists, 0 is returned.

Parser functionF2LineWidth id

- Returns the line width of the first derivative of the function with the ID `id`. If the function not exists, 0 is returned.

Parser functionIntLineWidth id

- Returns the line width of the integral of the function with the ID `id`. If the function not exists, 0 is returned.

Parser setFunctionFLineWidth linewidth id

- Sets the line width of the function with the ID `id` to `linewidth`. True is returned if the function exists, otherwise false.

Parser setFunctionF1LineWidth linewidth id

- Sets the line width of the first derivative of the function with the ID `id` to `linewidth`. True is returned if the function exists, otherwise false.

Parser setFunctionF2LineWidth linewidth id

- Sets the line width of the second derivative of the function with the ID `id` to `linewidth`. True is returned if the function exists, otherwise false.

Parser setFunctionIntLineWidth linewidth id

- Sets the line width of the integral of the function with the ID `id` to `linewidth`. True is returned if the function exists, otherwise false.

Parser functionParameterList id

- Returns a list with all the parameter values for the function with the ID `id`.

Parser functionAddParameter new_parameter id

- Adds the parameter value `new_parameter` to the function with the ID `id`. True is returned if the operation succeed, otherwise false.

Parser functionRemoveParameter remove_parameter id

- Removes the parameter value `remove_parameter` from the function with the ID `id`. True is returned if the operation succeed, otherwise false.

Parser functionMinValue id

- Returns the minimum plot range value of the function with the ID `id`. If the function not exists or if the minimum value is not definied, an empty string is returned.

Parser functionMaxValue id

- Returns the maximum plot range value of the function with the ID `id`. If the function not exists or if the maximum value is not definied, an empty string is returned.

Parser setFunctionMinValue min id

- Sets the minimum plot range value of the function with the ID `id` to `min`. True is returned if the function exists and the expression is valid, otherwise false.

Parser setFunctionMaxValue max id

- Sets the maximum plot range value of the function with the ID `id` to `max`. True is returned if the function exists and the expression is valid, otherwise false.

Parser functionStartXValue id

- Returns the initial x point for the integral of the function with the ID `id`. If the function not exists or if the x-point-expression is not definied, an empty string is returned.

Parser functionStartYValue id

- Returns the initial y point for the integral of the function with the ID `id`. If the function not exists or if the y-point-expression is not definied, an empty string is returned.

Parser setFunctionStartXValue min id

- Sets the initial x point for the integral of the function with the ID `id` to `x`. True is returned if the function exists and the expression is valid, otherwise false.

Parser setFunctionStartYValue max id

- Sets the initial y point for the integral of the function with the ID `id` to `y`. True is returned if the function exists and the expression is valid, otherwise false.

View stopDrawing

- If &kmplot; currently is drawing a function, the procedure will stop.

View drawPlot

- Redraws all functions.