import jalview.util.MessageManager;
import jalview.ws.dbsources.EBIAlfaFold;
import jalview.ws.dbsources.Pdb;
+import jalview.ws.utils.UrlDownloadClient;
/**
* Base class with common functionality for JMol, Chimera or other structure
{
alignAddedStructures = alignAdded;
}
+
+ /**
+ * called by the binding model to indicate when adding structures is happening or has been completed
+ * @param addingStructures
+ */
+ public synchronized void setAddingStructures(boolean addingStructures)
+ {
+ this.addingStructures = addingStructures;
+ }
/**
*
_alignwith.add(ap);
}
;
+ // TODO: refactor to allow concrete classes to register buttons for adding
+ // here
+ // currently have to override to add buttons back in after they are cleared
+ // in this loop
for (Component c : viewerActionMenu.getMenuComponents())
{
if (c != alignStructs)
progressBar = pi;
}
- protected void setProgressMessage(String message, long id)
+ public void setProgressMessage(String message, long id)
{
if (progressBar != null)
{
{
pdbseq = afclient.getSequenceRecords(pdbid);
} else {
- pdbseq = pdbclient.getSequenceRecords(pdbid);
+ if (processingEntry.hasRetrievalUrl())
+ {
+ // retrieve from URL to new local tmpfile
+ File tmpFile = File.createTempFile(pdbid,
+ "." + (PDBEntry.Type.MMCIF.toString().equals(
+ processingEntry.getType().toString()) ? "cif"
+ : "pdb"));
+ String fromUrl = processingEntry.getRetrievalUrl();
+ UrlDownloadClient.download(fromUrl, tmpFile);
+
+ // may not need this check ?
+ String file = tmpFile.getAbsolutePath();
+ if (file != null)
+ {
+ pdbseq = EBIAlfaFold.importDownloadedStructureFromUrl(fromUrl,tmpFile,pdbid,null,null,null);
+ }
+ } else {
+ pdbseq = pdbclient.getSequenceRecords(pdbid);
+ }
}
} catch (Exception e)
{
+ ex.getMessage());
}
}
-
+ @Override
+ public boolean hasViewerActionsMenu()
+ {
+ return viewerActionMenu != null && viewerActionMenu.isEnabled()
+ && viewerActionMenu.getItemCount() > 0
+ && viewerActionMenu.isVisible();
+ }
}