Your IP : 216.73.216.48
<chapter id="dcop">
<title>Scripting &kmplot;</title>
<para>A new feature in &kde; 3.4 is that you can write scripts for &kmplot; using &DBus; in &kde; 4. For example, if you want to define a new function <userinput>f(x)=2sin x+3cos
x</userinput>, set its line width to 20 and then draw it, you type in a console:</para>
<para><command>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""</command>
As a result, the new function's id number will be returned, or -1 if the function could not be defined.</para>
<para><command>qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth ID 20</command>
This command sets the function with the id number ID the line width to 20.</para>
<para><command>qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot</command>
This command repaints the window so that the function get visible.</para>
<para>
A list of the available functions:
<variablelist>
<varlistentry>
<term>
/kmplot org.kde.kmplot.KmPlot.fileOpen url
</term>
<listitem>
<para>Load the file <parameter>url</parameter>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.isModified
</term>
<listitem>
<para>Returns true if any changes are done.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.checkModified
</term>
<listitem>
<para>If there are any unsaved changes, a dialog appears to save, discard or cancel the plots.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.editAxes
</term>
<listitem>
<para>Opens the coordinate system edit dialog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.toggleShowSlider
</term>
<listitem>
<para>Shows/hides parameter slider window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotSave
</term>
<listitem>
<para>Saves the functions (opens the save dialog if it is a new file).</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotSaveas
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>File</guimenu><guimenuitem>Save As</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotPrint
</term>
<listitem>
<para>Opens the print dialog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotResetView
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>View</guimenu><guimenuitem>Reset View</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotExport
</term>
<listitem>
<para>Opens the export dialog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotSettings
</term>
<listitem>
<para>Opens the settings dialog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.slotNames
</term>
<listitem>
<para>Shows the predefined math functions in the handbook.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.findMinimumValue
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Minimum Value...</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.findMaximumValue
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Maximum Value...</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.graphArea
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Plot Area</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/maindlg org.kde.kmplot.MainDlg.calculator
</term>
<listitem>
<para>The same as choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Calculator</guimenuitem></menuchoice> in the menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.addFunction f_str0 f_fstr1
</term>
<listitem>
<para>Adds a new function with the expressions <parameter>f_str0</parameter> and <parameter>f_str1</parameter>. 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 could not be defined.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.removeFunction id
</term>
<listitem>
<para>Removes the function with the id number <parameter>id</parameter>. If the function could not be deleted, false is returned, otherwise true.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionExpression id eq f_str
</term>
<listitem>
<para>Sets the expression for the function with the id number <parameter>id</parameter> to <parameter>f_str</parameter>. Returns true if it succeed, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.countFunctions
</term>
<listitem>
<para>Returns the number of functions (parametric functions are calculated as two).</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>Returns a list with all functions.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.fnameToID f_str
</term>
<listitem>
<para>Returns the id number of <parameter>f_str</parameter> or -1 if the function name <parameter>f_str</parameter> was not found.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionFVisible id
</term>
<listitem>
<para>Returns true if the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionF1Visible id
</term>
<listitem>
<para>Returns true if the first derivative of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionF2Visible id
</term>
<listitem>
<para>Returns true if the second derivative of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionIntVisible id
</term>
<listitem>
<para>Returns true if the integral of the function with the ID <parameter>id</parameter> is visible, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionFVisible id visible
</term>
<listitem>
<para>Shows the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionF1Visible id visible
</term>
<listitem>
<para>Shows the first derivative of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionF2Visible id visible
</term>
<listitem>
<para>Shows the second derivative of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionIntVisible id visible
</term>
<listitem>
<para>Shows the integral of the function with the ID <parameter>id</parameter> if <parameter>visible</parameter> is true. If <parameter>visible</parameter> is false, the function will be hidden. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionStr id eq <!-- what is eq?-->
</term>
<listitem>
<para>Returns the function expression of the function with the ID <parameter>id</parameter>. If the function not exists, an empty string is returned instead.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionFLineWidth id
</term>
<listitem>
<para>Returns the line width of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionF1LineWidth id
</term>
<listitem>
<para>Returns the line width of the first derivative of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionF2LineWidth id
</term>
<listitem>
<para>Returns the line width of the second derivative of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionIntLineWidth id
</term>
<listitem>
<para>Returns the line width of the integral of the function with the ID <parameter>id</parameter>. If the function not exists, 0 is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionFLineWidth id linewidth
</term>
<listitem>
<para>Sets the line width of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionF1LineWidth id linewidth
</term>
<listitem>
<para>Sets the line width of the first derivative of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionF2LineWidth id linewidth
</term>
<listitem>
<para>Sets the line width of the second derivative of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionIntLineWidth id linewidth
</term>
<listitem>
<para>Sets the line width of the integral of the function with the ID <parameter>id</parameter> to <parameter>linewidth</parameter>. True is returned if the function exists, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionParameterList id
</term>
<listitem>
<para>Returns a list with all the parameter values for the function with the ID <parameter>id</parameter>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionAddParameter id new_parameter
</term>
<listitem>
<para>Adds the parameter value <parameter>new_parameter</parameter> to the function with the ID <parameter>id</parameter>. True is returned if the operation succeed, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionRemoveParameter id remove_parameter
</term>
<listitem>
<para>Removes the parameter value <parameter>remove_parameter</parameter> from the function with the ID <parameter>id</parameter>. True is returned if the operation succeed, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionMinValue id
</term>
<listitem>
<para>Returns the minimum plot range value of the function with the ID <parameter>id</parameter>. If the function not exists or if the minimum value is not defined, an empty string is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionMaxValue id
</term>
<listitem>
<para>Returns the maximum plot range value of the function with the ID <parameter>id</parameter>. If the function not exists or if the maximum value is not defined, an empty string is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionMinValue id min
</term>
<listitem>
<para>Sets the minimum plot range value of the function with the ID <parameter>id</parameter> to <parameter>min</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionMaxValue id max
</term>
<listitem>
<para>Sets the maximum plot range value of the function with the ID <parameter>id</parameter> to <parameter>max</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionStartXValue id
</term>
<listitem>
<para>Returns the initial x point for the integral of the function with the ID <parameter>id</parameter>. If the function not exists or if the x-point-expression is not defined, an empty string is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.functionStartYValue id
</term>
<listitem>
<para>Returns the initial y point for the integral of the function with the ID <parameter>id</parameter>. If the function not exists or if the y-point-expression is not defined, an empty string is returned.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/parser org.kde.kmplot.Parser.setFunctionStartValue id x y
</term>
<listitem>
<para>Sets the initial x and y point for the integral of the function with the ID <parameter>id</parameter> to <parameter>x</parameter> and <parameter>y</parameter>. True is returned if the function exists and the expression is valid, otherwise false.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/view org.kde.kmplot.View.stopDrawing
</term>
<listitem>
<para>If &kmplot; currently is drawing a function, the procedure will stop.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
/view org.kde.kmplot.View.drawPlot
</term>
<listitem>
<para>Redraws all functions.</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:
-->