<chapter id="dcop"> <title >Programar com o &kmplot;</title> <para >Uma nova funcionalidade do &kde; 4.0 é você poder criar programas para o &kmplot; com o &DBus; para o &kde;. Por exemplo, se quiser definir uma nova função <userinput >f(x)=2sin x+3cos x</userinput >, definir a espessura do traço como sendo igual a 20 e depois desenhá-la, poderá escrever numa consola:</para> <para ><command >qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""</command > Como resultado, o número do ID da função nova será devolvido, ou então -1 se a função não puder ser definida.</para> <para ><command >qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth 20 ID</command > Este comando configura a espessura do traço da função com o ID indicado como sendo igual a 20.</para> <para ><command > >qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot</command > Este comando actualiza a janela, de modo a que função se torne visível.</para> <para >Segue-se uma lista com as funções disponíveis: <variablelist> <varlistentry> <term >/kmplot org.kde.kmplot.KmPlot.fileOpen url </term> <listitem> <para >Carrega o ficheiro <parameter >url</parameter >.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.isModified </term> <listitem> <para >Devolve 'true' se foram feitas alterações.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.checkModified </term> <listitem> <para >Se existirem alterações por gravar, aparece uma janela para gravar, ignorar ou cancelar os gráficos.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.editAxes </term> <listitem> <para >Abre a janela de edição do sistema de coordenadas.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.toggleShowSlider </term> <listitem> <para >Mostra/esconde a janela da barra deslizante do parâmetro.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotSave </term> <listitem> <para >Grava as funções (abre a janela de gravação se for um ficheiro novo).</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotSaveas </term> <listitem> <para >O mesmo que a opção <menuchoice ><guimenu >Ficheiro</guimenu ><guimenuitem >Gravar Como</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotPrint </term> <listitem> <para >Abre a janela de impressão.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotResetView </term> <listitem> <para >O mesmo que a opção <menuchoice ><guimenu >Ver</guimenu ><guimenuitem >Limpar a Área</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotExport </term> <listitem> <para >Abre a janela de exportação.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotSettings </term> <listitem> <para >Abre a janela de configuração.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.slotNames </term> <listitem> <para >Mostra uma lista com as funções matemáticas predefinidas do manual.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.findMinimumValue </term> <listitem> <para >O mesmo que escolher a opção <menuchoice ><guimenu >Ferramentas</guimenu ><guimenuitem >Descobrir o Mínimo...</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.findMaximumValue </term> <listitem> <para >O mesmo que escolher a opção <menuchoice ><guimenu >Ferramentas</guimenu ><guimenuitem >Descobrir o Máximo...</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.graphArea </term> <listitem> <para >O mesmo que escolher a opção <menuchoice ><guimenu >Ferramentas</guimenu ><guimenuitem >Desenhar a Área</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/maindlg org.kde.kmplot.MainDlg.calculator </term> <listitem> <para >O mesmo que escolher a opção <menuchoice ><guimenu >Ferramentas</guimenu ><guimenuitem >Calculadora</guimenuitem > </menuchoice > do menu.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.addFunction f_texto0 f_texto1 </term> <listitem> <para >Adiciona uma nova função com a expressão <parameter >f_texto0</parameter > e <parameter >f_texto1</parameter >. Se a expressão não contiver nenhum nome de função, este será gerado automaticamente. É devolvido o número de ID da função nova ou então -1 se a função não pôde ser definida.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.removeFunction id </term> <listitem> <para >Remove a função com o número de ID <parameter >id</parameter >. Se a função não puder ser removida, é devolvido 'false', caso contrário 'true'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionExpression id eq f_texto </term> <listitem> <para >Atribui a expressão da função <parameter >f_texto</parameter > à função cujo identificador é <parameter >id</parameter >. Devolve 'true' se for bem sucedido, caso contrário devolve 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.countFunctions </term> <listitem> <para >Devolve o número de funções (as funções paramétricas contam como duas).</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 >Devolve uma lista com todas as funções.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.fnameToID f_str </term> <listitem> <para >Devolve o número identificador da função <parameter >texto</parameter > ou -1 se o nome da função <parameter >texto</parameter > não foi encontrado.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionFVisible id </term> <listitem> <para >Devolve 'true' se a função com o ID <parameter >id</parameter > for visível, caso contrário devolve 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionF1Visible id </term> <listitem> <para >Devolve 'true' se a primeira derivada da função com o ID <parameter >id</parameter > estiver visível, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionF2Visible id </term> <listitem> <para >Devolve 'true' se a segunda derivada da função com o ID <parameter >id</parameter > estiver visível, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionIntVisible id </term> <listitem> <para >Devolve 'true' se o integral da função com o ID <parameter >id</parameter > estiver visível, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionFVisible id visivel </term> <listitem> <para >Mostra a função com o ID <parameter >id</parameter > se o <parameter >visivel</parameter > for igual a 'true'. Se este valor for 'false', a função ficará escondida. Será devolvido 'true' se a função existir, caso contrário 'false'</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionF1Visible id visivel </term> <listitem> <para >Mostra a primeira derivada da função com o ID <parameter >id</parameter > se o <parameter >visivel</parameter > for igual a 'true'. Se este valor for 'false', a função ficará escondida. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionF2Visible id visivel </term> <listitem> <para >Mostra a segunda derivada da função com o ID <parameter >id</parameter > se o <parameter >visivel</parameter > for igual a 'true'. Se este valor for 'false', a função ficará escondida. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionIntVisible id visivel </term> <listitem> <para >Mostra o integral da função com o ID <parameter >id</parameter > se o <parameter >visivel</parameter > for igual a 'true'. Se este valor for 'false', a função ficará escondida. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionStr id eq </term> <listitem> <para >Devolve a expressão da função com o ID <parameter >id</parameter >. Se a função não existir, é devolvida uma cadeia de caracteres vazia.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionFLineWidth id </term> <listitem> <para >Devolve a espessura do traço da função com o ID <parameter >id</parameter >. Se a função não existir, será devolvido 0.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionF1LineWidth id </term> <listitem> <para >Devolve a espessura do traço da primeira derivada da função com o ID <parameter >id</parameter >. Se a função não existir, será devolvido 0.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionF2LineWidth id </term> <listitem> <para >Devolve a espessura do traço da segunda derivada da função com o ID <parameter >id</parameter >. Se a função não existir, será devolvido 0.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionIntLineWidth id </term> <listitem> <para >Devolve a espessura do traço do integral da função com o ID <parameter >id</parameter >. Se a função não existir, será devolvido 0.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionFLineWidth id espessuraTraco </term> <listitem> <para >Configura a espessura do traço da função com o ID <parameter >id</parameter > como sendo igual a <parameter >espessuraTraco</parameter >. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionF1LineWidth id espessuraTraco </term> <listitem> <para >Configura a espessura do traço da primeira derivada da função com o ID <parameter >id</parameter > como sendo igual a <parameter >espessuraTraco</parameter >. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionF2LineWidth id espessuraTraco </term> <listitem> <para >Configura a espessura do traço da segunda derivada da função com o ID <parameter >id</parameter > como sendo igual a <parameter >espessuraTraco</parameter >. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionIntLineWidth id espessuraTraco </term> <listitem> <para >Configura a espessura do traço do integral da função com o ID <parameter >id</parameter > como sendo igual a <parameter >espessuraTraco</parameter >. Será devolvido 'true' se a função existir, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionParameterList id </term> <listitem> <para >Devolve uma lista com todos os valores de parâmetros da função com o ID <parameter >id</parameter >.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionAddParameter id novo_parametro </term> <listitem> <para >Adiciona o valor do parâmetro <parameter >novo_parametro</parameter > à função com o ID <parameter >id</parameter >. Será devolvido 'true' se a operação foi bem sucedida, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionRemoveParameter id remover_parametro </term> <listitem> <para >Remove o valor do parâmetro <parameter >remover_parametro</parameter > da função com o ID <parameter >id</parameter >. Será devolvido 'true' se a operação foi bem sucedida, caso contrário 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionMinValue id </term> <listitem> <para >Devolve o valor mínimo do intervalo do gráfico da função com o ID <parameter >id</parameter >. Se a função não existir ou se o valor mínimo não estiver definido, será devolvida uma cadeia de caracteres vazia.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionMaxValue id </term> <listitem> <para >Devolve o valor máximo do intervalo do gráfico da função com o ID <parameter >id</parameter >. Se a função não existir ou se o valor máximo não estiver definido, será devolvida uma cadeia de caracteres vazia.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionMinValue id mín </term> <listitem> <para >Configura o valor mínimo do intervalo do gráfico da função com o ID <parameter >id</parameter > como sendo igual a <parameter >min</parameter >. Será devolvido 'true' se a função existir e se a expressão for válida, caso contrário será devolvido 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionMaxValue id máx </term> <listitem> <para >Configura o valor máximo do intervalo do gráfico da função com o ID <parameter >id</parameter > como sendo igual a <parameter >max</parameter >. Será devolvido 'true' se a função existir e se a expressão for válida, caso contrário será devolvido 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionStartXValue id </term> <listitem> <para >Devolve o ponto em X inicial do integral da função com o ID <parameter >id</parameter >. Se a função não existir ou se a expressão do ponto X não estiver definida, será devolvida uma cadeia de caracteres vazia.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.functionStartYValue id </term> <listitem> <para >Devolve o ponto em Y inicial do integral da função com o ID <parameter >id</parameter >. Se a função não existir ou se a expressão do ponto Y não estiver definida, será devolvida uma cadeia de caracteres vazia.</para> </listitem> </varlistentry> <varlistentry> <term >/parser org.kde.kmplot.Parser.setFunctionStartValue id x y </term> <listitem> <para >Configura o ponto inicial em X e Y do integral da função com o ID <parameter >id</parameter > como sendo igual a <parameter >x</parameter > e <parameter >y</parameter >. Será devolvido 'true' se a função existir e a expressão for válida, caso contrário será devolvido 'false'.</para> </listitem> </varlistentry> <varlistentry> <term >/view org.kde.kmplot.View.stopDrawing </term> <listitem> <para >Se o &kmplot; estiver a desenhar de momento a função, esse procedimento irá parar.</para> </listitem> </varlistentry> <varlistentry> <term >/view org.kde.kmplot.View.drawPlot </term> <listitem> <para >Volta a desenhar todas as funções.</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: -->