import jalview.ext.treeviewer.TreeViewerBindingI;
import jalview.ext.treeviewer.TreeViewerUtils;
import jalview.gui.Desktop;
-import jalview.gui.EPSOptions;
+import jalview.gui.LineartOptions;
import jalview.io.JalviewFileChooser;
import jalview.io.JalviewFileView;
import jalview.util.ImageMaker;
import jalview.util.MessageManager;
+import jalview.util.Platform;
+import jalview.util.ImageMaker.TYPE;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.accessibility.AccessibleContext;
import javax.swing.JLayeredPane;
else if (menu.getText().contains("View"))
{
menu.addSeparator();
+
JMenuItem sortByTree = new JMenuItem("Sort alignment by tree");
JMenuItem refreshJalview = new JMenuItem(
"Filter alignment to show only currently visible sequences");
+ JMenuItem hideCollapsed = new JMenuItem(
+ "Hide sequences of collapsed nodes");
refreshJalview.setFont(menu.getFont());
refreshJalview.addActionListener(new ActionListener() {
});
+ hideCollapsed.addActionListener(new ActionListener()
+ {
+
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ TreeViewerBindingI bindingManager = TreeViewerUtils
+ .getActiveTreeViews().get(AptxFrame.this);
+ bindingManager.hideCollapsedSequences_actionPerformed();
+
+ }
+
+ });
+
menu.add(sortByTree);
menu.add(refreshJalview);
+ menu.add(hideCollapsed);
sortByTree.setFont(menu.getFont());
public void epsTree_actionPerformed(ActionEvent e)
{
boolean accurateText = true;
+ final long messageId = System.currentTimeMillis();
String renderStyle = jalview.bin.Cache.getDefault("EPS_RENDERING",
"Prompt each time");
+ if (Platform.isJS())
+ {
+ renderStyle = "Text";
+ }
+
+ AtomicBoolean textSelected = new AtomicBoolean(
+ !"Lineart".equals(renderStyle));
// If we need to prompt, and if the GUI is visible then
// Prompt for EPS rendering style
if (renderStyle.equalsIgnoreCase("Prompt each time")
- && !(System.getProperty("java.awt.headless") != null && System
- .getProperty("java.awt.headless").equals("true")))
+ && !Platform.isHeadless())
+ // && !(System.getProperty("java.awt.headless") != null && System
+ // .getProperty("java.awt.headless").equals("true")))
{
- EPSOptions eps = new EPSOptions();
- renderStyle = eps.getValue();
-
- if (renderStyle == null || eps.cancelled)
+ LineartOptions epsOption = new LineartOptions(TYPE.EPS.getName(),
+ textSelected);
+ epsOption.setResponseAction(1, new Runnable()
{
- return;
- }
+ @Override
+ public void run()
+ {
+ // report canceled
+ // setStatus(MessageManager.formatMessage(
+ // "status.cancelled_image_export_operation",
+ // TYPE.EPS.getName()), messageId);
+ }
+ });
+ epsOption.setResponseAction(0, new Runnable()
+ {
+ @Override
+ public void run()
+ {
+ // TODO Auto-generated method stub
- }
+ String renderStyle = epsOption.getValue();
+
+ if (renderStyle == null)
+ {
+ return;
+ }
- if (renderStyle.equalsIgnoreCase("text"))
+ boolean accurateText = true;
+ if (renderStyle.equalsIgnoreCase("text"))
+ {
+ accurateText = false;
+ }
+ doExport(accurateText);
+
+ }
+
+ });
+ epsOption.showDialog();
+ }
+ else
{
- accurateText = false;
+ doExport(accurateText);
}
+ }
+ protected void doExport(boolean accurateText)
+ {
int width = getTreePanel().getWidth();
int height = getTreePanel().getHeight();