X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=1152a6e089f2252d0ba666f42696921ff20ea8a9;hb=3609d4b908fa64cab35f2348401baab3347188fc;hp=5a5df3b9f0e7f44bb963367592db01d2b1776c5e;hpb=d9c741ff46d3370f152d67b5ca8a24d217b6827e;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 5a5df3b..1152a6e 100644 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -102,9 +102,9 @@ import jalview.viewmodel.AlignmentViewport; import jalview.viewmodel.ViewportRanges; import jalview.ws.DBRefFetcher; import jalview.ws.DBRefFetcher.FetchFinishedListenerI; +import jalview.ws.api.ServiceWithParameters; import jalview.ws.jws1.Discoverer; import jalview.ws.jws2.Jws2Discoverer; -import jalview.ws.jws2.jabaws2.Jws2Instance; import jalview.ws.params.ArgumentI; import jalview.ws.params.ParamDatastoreI; import jalview.ws.params.WsParamSetI; @@ -1750,9 +1750,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, closeView(alignPanel); } } - if (closeAllTabs) { + if (featureSettings != null && featureSettings.isOpen()) + { + featureSettings.close(); + featureSettings = null; + } /* * this will raise an INTERNAL_FRAME_CLOSED event and this method will * be called recursively, with the frame now in 'closed' state @@ -3465,9 +3469,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, @Override public void featureSettings_actionPerformed(ActionEvent e) { + showFeatureSettingsUI(); + } + + @Override + public FeatureSettingsControllerI showFeatureSettingsUI() + { if (featureSettings != null) { - featureSettings.close(); + featureSettings.closeOldSettings(); featureSettings = null; } if (!showSeqFeatures.isSelected()) @@ -3477,6 +3487,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, showSeqFeatures_actionPerformed(null); } featureSettings = new FeatureSettings(this); + return featureSettings; } /** @@ -4422,7 +4433,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, if (jws2servs.hasServices()) { jws2servs.attachWSMenuEntry(webService, me); - for (Jws2Instance sv : jws2servs.getServices()) + for (ServiceWithParameters sv : jws2servs.getServices()) { if (sv.getName().toLowerCase().contains("jpred")) { @@ -4450,8 +4461,22 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, // JMenuItems for slivka-based services SlivkaWSDiscoverer slivkaDiscoverer = SlivkaWSDiscoverer.getInstance(); + if (slivkaDiscoverer.hasServices()) + { slivkaDiscoverer.attachWSMenuEntry(webService, me); + } else { + if (slivkaDiscoverer.isRunning()) + { + { + JMenuItem tm = new JMenuItem( + "Still discovering Slivka Services"); + tm.setEnabled(false); + webService.add(tm); + } + } + } + build_fetchdbmenu(webService); for (JMenu item : wsmenu) @@ -4992,7 +5017,15 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, { if (parseFeaturesFile(file, sourceType)) { - alignPanel.paintAlignment(true, true); + SplitFrame splitFrame = (SplitFrame) getSplitViewContainer(); + if (splitFrame != null) + { + splitFrame.repaint(); + } + else + { + alignPanel.paintAlignment(true, true); + } } } else @@ -5047,6 +5080,21 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, viewport = alignPanel.av; avc.setViewportAndAlignmentPanel(viewport, alignPanel); setMenusFromViewport(viewport); + if (featureSettings != null && featureSettings.isOpen() + && featureSettings.fr.getViewport() != viewport) + { + if (viewport.isShowSequenceFeatures()) + { + // refresh the featureSettings to reflect UI change + showFeatureSettingsUI(); + } + else + { + // close feature settings for this view. + featureSettings.close(); + } + } + } /* @@ -5974,6 +6022,19 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } } + + private Rectangle lastFeatureSettingsBounds = null; + @Override + public void setFeatureSettingsGeometry(Rectangle bounds) + { + lastFeatureSettingsBounds = bounds; + } + + @Override + public Rectangle getFeatureSettingsGeometry() + { + return lastFeatureSettingsBounds; + } } class PrintThread extends Thread