Capítulo 7. Programar com o KmPlot

Você pode criar programas para o KmPlot com o D-Bus. 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 FicheiroGravar Como do menu.

/maindlg org.kde.kmplot.MainDlg.slotPrint

Abre a janela de impressão.

/maindlg org.kde.kmplot.MainDlg.slotResetView

O mesmo que seleccionar a opção Ver Limpar a Janela no 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 Ferramentas Valor Mínimo... no menu.

/maindlg org.kde.kmplot.MainDlg.findMaximumValue

O mesmo que escolher a opção Ferramentas Valor Máximo... no menu.

/maindlg org.kde.kmplot.MainDlg.graphArea

O mesmo que escolher a opção Ferramentas Área de Desenho no menu.

/maindlg org.kde.kmplot.MainDlg.calculator

O mesmo que escolher Ferramentas Calculadora no 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.