X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FHelp.java;h=b07cc4e5d4093a12f267b31e3d5d50ee0e534ce9;hb=24759045defbd5bb87bb699c6ba363f171464d7f;hp=dac17c02afc50a42b9b6fe2305be7a09124cf35b;hpb=35626511226b6eca47a7610f4682a3c686d64fa2;p=jalview.git diff --git a/src/jalview/gui/Help.java b/src/jalview/gui/Help.java index dac17c0..b07cc4e 100644 --- a/src/jalview/gui/Help.java +++ b/src/jalview/gui/Help.java @@ -2,6 +2,7 @@ package jalview.gui; import java.net.URL; +import javax.help.BadIDException; import javax.help.HelpBroker; import javax.help.HelpSet; import javax.help.HelpSetException; @@ -14,6 +15,24 @@ import javax.help.HelpSetException; */ public class Help { + public enum HelpId + { + Home("home"), SequenceFeatureSettings("seqfeatures.settings"), StructureViewer( + "viewingpdbs"); + + private String id; + + private HelpId(String loc) + { + this.id = loc; + } + + @Override + public String toString() + { + return this.id; + } + } private static final long HALF_A_MO = 500; // half a second @@ -33,10 +52,11 @@ public class Help * * This is a workaround for issue JAL-914 - both Desktop and AlignFrame * responding to F1 key, resulting in duplicate help windows opened. + * @param id TODO * * @throws HelpSetException */ - public static void showHelpWindow() throws HelpSetException + public static void showHelpWindow(HelpId id) throws HelpSetException { long timeNow = System.currentTimeMillis(); @@ -48,8 +68,21 @@ public class Help HelpSet hs = new HelpSet(cl, url); HelpBroker hb = hs.createHelpBroker(); - hb.setCurrentID("home"); + try + { + hb.setCurrentID(id.toString()); + } catch (BadIDException bad) + { + System.out.println("Bad help link: " + id.toString() + + ": must match a target in help.jhm"); + throw bad; + } hb.setDisplayed(true); } } + + public static void showHelpWindow() throws HelpSetException + { + showHelpWindow(HelpId.Home); + } }