Sammensatte snydeark kan guide gennem komplekse problemer ved at opdele problemet i sæt af mindre opgaver. Sammensatte snydeark registreres vha. udvidelsespunktet org.eclipse.ui.cheatsheets.cheatSheetContent.
Det sammensatte snydearks indhold defineres i en separat fil, der overholder specifikationen af indholdsfil for sammensatte snydeark. Indholdsfilen er en XML-fil og består af et sæt opgaver, der er organiseret i grupper i en træstruktur.
<compositeCheatsheet> er det sammensatte snydearks rodelement. Den vil have en enkelt rodopgave, der kan være en <task> eller <taskGroup>. <taskGroup>-elementer kan have en eller flere underordnede elmenter, der kan være en <task> eller <taskGroup>. En <task> har ikke underordnede opgaver.
Opgaver og opgavegrupper kan indeholde <intro>-elementer, der indeholder tekst, der skal vises, før opgaven er startet, og <onCompletion>-elementer, der indeholder tekst, der skal vises, når opgaven er afsluttet. Både elementerne <intro> og <onCompletion> kan indeholde tekstformatering. I eksemplet nedenfor anvendes koderne <b> og </b> til at gøre teksten fed.
Opgaver kan også indeholde <param>-elementer. En snydearksopgave kan have enhver af følgende parametre: "id" er det registrerede snydearks id, "path" er den relative sti eller URL til snydearkets indholdsfil, og "skipIntro" er en boleesk parameter, som - hvis den er sand - forårsager, at snydearket starter med første trin i stedet for introduktionen. "id" eller "path", men ikke begge skal angives.
En <dependency>-node fra opgave "B" til opgave "A" repræsenterer et krav om, at opgave A skal afsluttes, før opgave B kan startes.
Hvis en opgave har typen = "cheatsheet", åbnes et snydeark, når opgaven startes. Der er tre parametre til et snydeark.
Parameternavn | Beskrivelse |
id | Id'en på snydearket, der er registreret vha. udvidelsespunktet org.eclipse.ui.cheatsheets.cheatSheetContent. Den identificerer snydearket, der knyttes til denne opgave. Id'en eller stiparameteren, men ikke begge bør angives. |
path | URL til snydearkets indholdsfil. Det kan være en absolut URL eller en relativ i forhold til indholdsfilen for det sammensatte snydeark. Hvis både id og sti er angivet, anvendes stien til at finde indholdsfilen, og parameteren id ignoreres. |
showIntro | En boleesk parameter med standardværdien true. Hvis den er "false", vil snydearket vise første trin i stedet for introduktionen, når det startes. |
Filen nedenfor er et eksempel på, hvordan et snydeark oprettes fra eksisterende snydeark. Det viser, hvordan opgavegrupper oprettes, og gør det muligt at springe opgaven over.
<?xml version="1.0" encoding="UTF-8"?> <compositeCheatsheet name="Eksempel på sammensat snydeark"> <taskGroup name= "Eksempel på sammensat snydeark"> <intro> Dette er et eksempel på et <b>sammensat snydeark</b>, der er bygget fra eksisterende snydeark. <br/><br/>Du kan vælge en opgave at arbejde på enten ved at følge linkene eller ved at vælge en opgave i træstrukturen. </intro> <onCompletion>Du har afsluttet alle opgaver.</onCompletion> <task kind="cheatsheet" name= "Opretter grene og fletter vha. CVS" skip="true"> <param name = "id" value = "org.eclipse.platform.cvs_1" /> <intro>Dette snydeark er beregnet til CVS-brugere. Hvis du ikke bruger CVS eller ikke vil forgrene og flette, kan du springe denne opgave over. </intro> <onCompletion>Nu ved du, hvordan du skal forgrene og flette.</onCompletion> </task> <taskGroup name= "Opret Java-projekter" kind = "sekvens"> <intro> Først lærer du, hvordan du opretter en enkelt Java-projekt, så kan du oprette et Java-projekt, der anvender SWT. <br/><br/>Denne opgavegruppe er en sekvens. Det betyder, at hvis du klikker på underopgaven "Enkeltstående SWT-program", vil den ikke lade opgaven starte, før "Opret et Java-projekt" er afsluttet. </intro> <onCompletion>Du har nu bygget begge Java-programmer.</onCompletion> <task kind="cheatsheet" name= "Opret et Java-projekt" id = "createJavaProject"> <param name="id" value = "org.eclipse.jdt.helloworld"/> <param name="showIntro" value = "false"/> <intro>Dette snydeark gennemgår forløbet for at oprette et enkelt Hello World-program. Snydearket kan starte guider, der opretter et nyt projekt og en ny klasse. </intro> <onCompletion>Du har nu oprettet et nyt Hello World-program</onCompletion> </task> <task kind="cheatsheet" name= "Enkeltstående SWT-program"> <intro>Eclipse-plugins, der kan bidrage til brugergrænsefladen, anvender SWT (Standard Widget Toolkit). Denne opgaveguide kan anvendes til at lære mere om SWT. </intro> <param name = "id" value = "org.eclipse.jdt.helloworld.swt" /> <onCompletion>Du har nu oprettet et SWT-program.</onCompletion> </task> </taskGroup> </taskGroup> </compositeCheatsheet>
Sammensatte snydeark kan udvides, men i Eclipse 3.2 er denne mulighed for udvidelse midlertidig, og klasserne kan ændres, før de bliver et API. Understøttelse af sammensatte snydeark kan udvides vha. udvidelsespunktet org.eclipse.ui.cheatsheets.cheatSheetContent, der har to nye elementer, taskEditor og taskExplorer, som tillader bidrag fra opgaveeditorer og opgavestifindere.
Brug af en opgaveeditor definerer en ny type opgave, som vises i opgavens detaljeafsnit. For at bruge en opgaveeditor skal du implementere en konkret underklasse af TaskEditor, derefter skal du tilføje et taskEditor-element til plugin.xml.
Repræsentationen af opgavestifinder er også konfigurérbar med et udvidelsespunkt, en træstifinder, der er inkluderet i Eclipse-platformen. Som standard er en stifinder til et sammensat snydeark, når den åbnes, en træstruktur. En attribut til elementet <compositeCheatSheet> gør det muligt at tilsidesætte denne standard. Hvis der er registreret mere end én stifinder, indeholder menuen Vis et menuelement, så du kan skifte mellem stifindere. Hvis du vil anvende en opgavestifinder, skal du først implementere en konkret underklasse af TaskExplorer og derefter tilføje TaskExplorer-elementet til plugin.xml.
Arbejd med snydeark
Arbejd med sammensatte snydeark
Opret snydeark
Retningslinjer for udarbejdelse
Specifikation af indholdsfil for snydeark
Udvidelsespunktet
org.eclipse.ui.cheatsheets.cheatSheetContent