# Programar com o &kmplot;

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 `f(x)=2sin x+3cos x`, definir a espessura do traço como sendo igual a 20 e depois desenhá-la, poderá escrever numa consola:

`qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.addFunction "f(x)=2sin x+3cos x" ""` 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.

`qdbus org.kde.kmplot-PID /parser org.kde.kmplot.Parser.setFunctionFLineWidth 20 ID` Este comando configura a espessura do traço da função com o ID indicado como sendo igual a 20.

`>qdbus org.kde.kmplot-PID /view org.kde.kmplot.View.drawPlot` Este comando actualiza a janela, de modo a que função se torne visível.

Segue-se uma lista com as funções disponíveis:

/kmplot org.kde.kmplot.KmPlot.fileOpen url

  Carrega o ficheiro `url`.

/maindlg org.kde.kmplot.MainDlg.isModified

  Devolve 'true' se foram feitas alterações.

/maindlg org.kde.kmplot.MainDlg.checkModified

  Se existirem alterações por gravar, aparece uma janela para gravar, ignorar ou cancelar os gráficos.

/maindlg org.kde.kmplot.MainDlg.editAxes

  Abre a janela de edição do sistema de coordenadas.

/maindlg org.kde.kmplot.MainDlg.toggleShowSlider

  Mostra/esconde a janela da barra deslizante do parâmetro.

/maindlg org.kde.kmplot.MainDlg.slotSave

  Grava as funções (abre a janela de gravação se for um ficheiro novo).

/maindlg org.kde.kmplot.MainDlg.slotSaveas

  O mesmo que a opção Ficheiro Gravar Como do menu.

/maindlg org.kde.kmplot.MainDlg.slotPrint

  Abre a janela de impressão.

/maindlg org.kde.kmplot.MainDlg.slotResetView

  O mesmo que a opção Ver Limpar a Área do menu.

/maindlg org.kde.kmplot.MainDlg.slotExport

  Abre a janela de exportação.

/maindlg org.kde.kmplot.MainDlg.slotSettings

  Abre a janela de configuração.

/maindlg org.kde.kmplot.MainDlg.slotNames

  Mostra uma lista com as funções matemáticas predefinidas do manual.

/maindlg org.kde.kmplot.MainDlg.findMinimumValue

  O mesmo que escolher a opção Ferramentas Descobrir o Mínimo... do menu.

/maindlg org.kde.kmplot.MainDlg.findMaximumValue

  O mesmo que escolher a opção Ferramentas Descobrir o Máximo... do menu.

/maindlg org.kde.kmplot.MainDlg.graphArea

  O mesmo que escolher a opção Ferramentas Desenhar a Área do menu.

/maindlg org.kde.kmplot.MainDlg.calculator

  O mesmo que escolher a opção Ferramentas Calculadora do menu.

/parser org.kde.kmplot.Parser.addFunction f_texto0 f_texto1

  Adiciona uma nova função com a expressão `f_texto0` e `f_texto1`. 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.

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

  Remove a função com o número de ID `id`. Se a função não puder ser removida, é devolvido 'false', caso contrário 'true'.

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

  Atribui a expressão da função `f_texto` à função cujo identificador é `id`. Devolve 'true' se for bem sucedido, caso contrário devolve 'false'.

/parser org.kde.kmplot.Parser.countFunctions

  Devolve o número de funções (as funções paramétricas contam como duas).

/parser org.kde.kmplot.Parser.listFunctionNames

  Devolve uma lista com todas as funções.

/parser org.kde.kmplot.Parser.fnameToID f_str

  Devolve o número identificador da função `texto` ou -1 se o nome da função `texto` não foi encontrado.

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

  Devolve 'true' se a função com o ID `id` for visível, caso contrário devolve 'false'.

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

  Devolve 'true' se a primeira derivada da função com o ID `id` estiver visível, caso contrário 'false'.

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

  Devolve 'true' se a segunda derivada da função com o ID `id` estiver visível, caso contrário 'false'.

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

  Devolve 'true' se o integral da função com o ID `id` estiver visível, caso contrário 'false'.

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

  Mostra a função com o ID `id` se o `visivel` 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'

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

  Mostra a primeira derivada da função com o ID `id` se o `visivel` 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'.

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

  Mostra a segunda derivada da função com o ID `id` se o `visivel` 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'.

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

  Mostra o integral da função com o ID `id` se o `visivel` 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'.

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

  Devolve a expressão da função com o ID `id`. Se a função não existir, é devolvida uma cadeia de caracteres vazia.

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

  Devolve a espessura do traço da função com o ID `id`. Se a função não existir, será devolvido 0.

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

  Devolve a espessura do traço da primeira derivada da função com o ID `id`. Se a função não existir, será devolvido 0.

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

  Devolve a espessura do traço da segunda derivada da função com o ID `id`. Se a função não existir, será devolvido 0.

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

  Devolve a espessura do traço do integral da função com o ID `id`. Se a função não existir, será devolvido 0.

/parser org.kde.kmplot.Parser.setFunctionFLineWidth id espessuraTraco

  Configura a espessura do traço da função com o ID `id` como sendo igual a `espessuraTraco`. Será devolvido 'true' se a função existir, caso contrário 'false'.

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

  Configura a espessura do traço da primeira derivada da função com o ID `id` como sendo igual a `espessuraTraco`. Será devolvido 'true' se a função existir, caso contrário 'false'.

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

  Configura a espessura do traço da segunda derivada da função com o ID `id` como sendo igual a `espessuraTraco`. Será devolvido 'true' se a função existir, caso contrário 'false'.

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

  Configura a espessura do traço do integral da função com o ID `id` como sendo igual a `espessuraTraco`. Será devolvido 'true' se a função existir, caso contrário 'false'.

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

  Devolve uma lista com todos os valores de parâmetros da função com o ID `id`.

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

  Adiciona o valor do parâmetro `novo_parametro` à função com o ID `id`. Será devolvido 'true' se a operação foi bem sucedida, caso contrário 'false'.

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

  Remove o valor do parâmetro `remover_parametro` da função com o ID `id`. Será devolvido 'true' se a operação foi bem sucedida, caso contrário 'false'.

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

  Devolve o valor mínimo do intervalo do gráfico da função com o ID `id`. Se a função não existir ou se o valor mínimo não estiver definido, será devolvida uma cadeia de caracteres vazia.

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

  Devolve o valor máximo do intervalo do gráfico da função com o ID `id`. Se a função não existir ou se o valor máximo não estiver definido, será devolvida uma cadeia de caracteres vazia.

/parser org.kde.kmplot.Parser.setFunctionMinValue id mín

  Configura o valor mínimo do intervalo do gráfico da função com o ID `id` como sendo igual a `min`. Será devolvido 'true' se a função existir e se a expressão for válida, caso contrário será devolvido 'false'.

/parser org.kde.kmplot.Parser.setFunctionMaxValue id máx

  Configura o valor máximo do intervalo do gráfico da função com o ID `id` como sendo igual a `max`. Será devolvido 'true' se a função existir e se a expressão for válida, caso contrário será devolvido 'false'.

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

  Devolve o ponto em X inicial do integral da função com o ID `id`. 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.

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

  Devolve o ponto em Y inicial do integral da função com o ID `id`. 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.

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

  Configura o ponto inicial em X e Y do integral da função com o ID `id` como sendo igual a `x` e `y`. Será devolvido 'true' se a função existir e a expressão for válida, caso contrário será devolvido 'false'.

/view org.kde.kmplot.View.stopDrawing

  Se o &kmplot; estiver a desenhar de momento a função, esse procedimento irá parar.

/view org.kde.kmplot.View.drawPlot

  Volta a desenhar todas as funções.