Folhas de dicas compostas fornecem orientação para problemas complexos dividindo o problema em um conjunto de tarefas menores. As folhas de dicas compostas são registradas utilizando o ponto de extensão org.eclipse.ui.cheatsheets.cheatSheetContent.
O conteúdo da folha de dicas composta propriamente dito é definido em um arquivo separado que está em conformidade com a especificação de arquivo de conteúdo da folha de dicas composta. O arquivo de conteúdo é um arquivo XML e consiste em um conjunto de tarefas organizadas em grupos, em uma estrutura em árvore.
<compositeCheatsheet> é o elemento raiz de uma folha de dicas composta. Ele terá uma única tarefa principal, a qual poderá ser uma <tarefa> ou um <taskGroup>. Elementos <taskGroup> podem ter um ou mais filhos, cada um dos quais pode ser uma <tarefa> ou um <taskGroup>. Uma <tarefa> não tem tarefas filhas.
Tarefas e grupos de tarefas podem conter elementos de <introdução>, os quais contêm o texto a ser exibido antes do início da tarefa, e elementos <onCompletion>, que contêm o texto a ser exibido após a conclusão da tarefa. Os elementos <introdução> e <onCompletion> podem conter marcação de texto de formulário; no exemplo a seguir, as tags <b> e </b> são utilizadas para colocar o texto em negrito.
Tarefas podem conter também elementos de <parâmetro>. Uma tarefa de folha de dicas pode ter qualquer um dos seguintes parâmetros: "id" é o id de uma folha de dicas registrada, "caminho" é o caminho relativo ou o URL do arquivo de conteúdo da folha de dicas e "skipIntro" é um parâmetro booleano que, se verdadeiro, faz com que a folha de dicas seja iniciada na primeira etapa, em vez de na introdução. "id" ou "caminho", mas não ambos, deve ser modificado.
Um nó de <dependência> da tarefa "B" para a tarefa "A" representa um requisito para que a tarefa A seja concluída antes do início da tarefa B.
Se o tipo da tarefa for = "cheatsheet", será aberta uma folha de dicas quando essa tarefa for iniciada. Há três parâmetros possíveis para uma tarefa da folha de dicas.
Nome do parâmetro | Descrição |
ID | O id de uma folha de dicas que foi registrada utilizando o ponto de extensão org.eclipse.ui.cheatsheets.cheatSheetContent. Isso identifica a folha de dicas que será associada a essa tarefa. O id ou o parâmetro do caminho (mas não ambos) deve ser especificado. |
caminho | A URL de um arquivo de conteúdo da folha de dicas. Pode ser uma URL absoluta, ou relativa ao arquivo de conteúdo para a folha de dicas composta. Se o id e o caminho forem especificados, o caminho será utilizado para localizar o arquivo de conteúdo, e o parâmetro do id será ignorado. |
showIntro | Um parâmetro booleano com valor padrão de true. Se for "false", quando a folha de dicas for iniciada, mostrará inicialmente a primeira etapa, em vez da introdução. |
O arquivo a seguir é um exemplo de como criar uma folha de dicas composta a partir de folhas de dicas existentes. Ele mostra como criar grupos de tarefas e tornar as tarefas ignoráveis.
<?xml version="1.0" encoding="UTF-8"?> <compositeCheatsheet name="Exemplo de folha de dicas composta"> <taskGroup name= "Exemplo de folha de dicas composta"> <intro> Este é o exemplo de uma <b>folha de dicas composta</b> criada a partir de folhas de dicas existentes. <br/><br/>Você pode selecionar uma tarefa na qual trabalhar, seguindo os hyperlinks ou selecionando uma tarefa na árvore. </intro> <onCompletion>Parabéns por ter concluído todas as tarefas.</onCompletion> <task kind="cheatsheet" name= "Ramificar e mesclar utilizando o CVS" skip="true"> <param name = "id" value = "org.eclipse.platform.cvs_1" /> <intro>Esta folha de dicas destina-se aos usuários do CVS. Se você não estiver usando o CVS ou não planeja ramificar e mesclar, pode ignorar esta tarefa. </intro> <onCompletion>Parabéns! Agora você sabe como ramificar e mesclar.</onCompletion> </task> <taskGroup name= "Criar Projetos Java" kind = "sequence"> <intro> Primeiro, você aprenderá a criar um projeto java simples e depois criará um projeto java que utiliza o SWT. <br/><br/>Este grupo de tarefas é uma seqüência, o que significa que se você clicar na subtarefa "Aplicativo SWT Independente" ele não deixará essa tarefa ser iniciada enquanto "Criar um projeto java" não for concluído. </intro> <onCompletion>Parabéns por ter criado ambos os aplicativos Java.</onCompletion> <task kind="cheatsheet" name= "Criar um projeto java" id = "createJavaProject"> <param name="id" value = "org.eclipse.jdt.helloworld"/> <param name="showIntro" value = "false"/> <intro>Esta folha de dicas orienta no processo de criação de um aplicativo hello world simples. A folha de dicas pode ativar assistentes para criar um novo projeto e uma nova classe. </intro> <onCompletion>Parabéns por ter criado com êxito um aplicativo hello world</onCompletion> </task> <task kind="cheatsheet" name= "Aplicativo SWT Independente"> <intro>Plugins do Eclipse que contribuem com a interface com o usuário utiliza o SWT (Standard Widget Toolkit). Este guia de tarefa pode ser utilizado para aprender mais sobre o SWT. </intro> <param name = "id" value = "org.eclipse.jdt.helloworld.swt" /> <onCompletion>Parabéns pelo êxito na criação de um aplicativo SWT.</onCompletion> </task> </taskGroup> </taskGroup> </compositeCheatsheet>
Folhas de dicas compostas são extensíveis; entretanto, no Eclipse 3.2, essa extensibilidade é provisória e as classes podem ser alteradas antes de se tornarem API. O suporte de folha de dicas composta pode ser estendido utilizando o ponto de extensão org.eclipse.ui.cheatsheets.cheatSheetContent, que tem dois novos elementos taskEditor e taskExplorer que permitem obter a colaboração de editores e exploradores de tarefas.
A colaboração de um editor de tarefas define um novo tipo de tarefa que é exibida na seção de detalhe da tarefa. Para colaborar com um editor de tarefas, implemente uma subclasse concreta de TaskEditor e, em seguida, inclua um elemento taskEditor no plugin.xml.
A representação do explorador de tarefas também é configurável com um ponto de extensão; um explorador de árvore está incluído na plataforma do Eclipse. Por padrão, o explorador de uma folha de dicas composta quando aberto pela primeira vez é uma árvore; um atributo no elemento <compositeCheatSheet> permitirá que o padrão seja substituído. Se mais de um explorador estiver registrado, o menu de visualização conterá um item de menu para alternar entre os exploradores. Para colaborar com um explorador de tarefas, primeiro implemente uma subclasse concreta de TaskExplorer e, em seguida, inclua um elemento taskExplorer no plugin.xml.
Trabalhando com Folhas de Dicas
Trabalhando com Folhas de Dicas Compostas
Criando Folhas de Dicas
Diretrizes de Autoria
Especificação de arquivo de conteúdo de folha de dicas composta
Ponto de extensão org.eclipse.ui.cheatsheets.cheatSheetContent