Merge branch 'cherry-pick/r2_11_2_JAL-3509' into develop
[jalview.git] / src / jalview / gui / StructureViewerBase.java
index e180f6b..a0b199b 100644 (file)
@@ -61,6 +61,7 @@ import jalview.schemes.ColourSchemeI;
 import jalview.schemes.ColourSchemes;
 import jalview.structure.StructureMapping;
 import jalview.structures.models.AAStructureBindingModel;
+import jalview.util.BrowserLauncher;
 import jalview.util.MessageManager;
 import jalview.ws.dbsources.Pdb;
 
@@ -706,7 +707,7 @@ public abstract class StructureViewerBase extends GStructureViewer
                 }
                 else
                 {
-                  // update the Chimera display now.
+                  // update the viewer display now.
                   seqColour_actionPerformed();
                 }
               }
@@ -756,6 +757,10 @@ public abstract class StructureViewerBase extends GStructureViewer
       }
     });
 
+    viewerActionMenu.setText(getViewerName());
+    helpItem.setText(MessageManager.formatMessage("label.viewer_help",
+            getViewerName()));
+
     buildColourMenu();
   }
 
@@ -965,7 +970,7 @@ public abstract class StructureViewerBase extends GStructureViewer
      * enable 'Superpose with' if more than one mapped structure
      */
     viewSelectionMenu.setEnabled(false);
-    if (getBinding().getStructureFiles().length > 1
+    if (getBinding().getMappedStructureCount() > 1
             && getBinding().getSequence().length > 1)
     {
       viewSelectionMenu.setEnabled(true);
@@ -1204,6 +1209,9 @@ public abstract class StructureViewerBase extends GStructureViewer
         }
         forceClose = confirm == JvOptionPane.YES_OPTION;
       }
+    }
+    if (binding != null)
+    {
       binding.closeViewer(forceClose);
     }
     setAlignmentPanel(null);
@@ -1216,4 +1224,22 @@ public abstract class StructureViewerBase extends GStructureViewer
     dispose();
   }
 
+  @Override
+  public void showHelp_actionPerformed()
+  {
+    try
+    {
+      String url = getBinding().getHelpURL();
+      if (url != null)
+      {
+        BrowserLauncher.openURL(url);
+      }
+    } catch (IOException ex)
+    {
+      System.err
+              .println("Show " + getViewerName() + " failed with: "
+                      + ex.getMessage());
+    }
+  }
+
 }