import jalview.ext.treeviewer.TreeFrameI;
import jalview.ext.treeviewer.TreeI;
import jalview.ext.treeviewer.TreePanelI;
+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;
{
private final MainFrame aptxFrame;
+ private TreeViewerBindingI viewBinding;
+
private TreePanelI aptxPanel;
private TreeControlsI aptxControls;
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(
- TreeViewerUtils.getActiveTreeViews().get(this));
+ refreshJalview.addActionListener(new ActionListener() {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ TreeViewerBindingI bindingManager = TreeViewerUtils
+ .getActiveTreeViews().get(AptxFrame.this);
+ bindingManager.actionPerformed(e);
+ }
+ });
+
sortByTree.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- TreeViewerUtils.getActiveTreeViews().get(AptxFrame.this)
- .sortByTree_actionPerformed();
+ TreeViewerBindingI bindingManager = TreeViewerUtils
+ .getActiveTreeViews().get(AptxFrame.this);
+ bindingManager.sortByTree_actionPerformed();
+
+ }
+
+ });
+ 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;
+ }
+
+ boolean accurateText = true;
+ if (renderStyle.equalsIgnoreCase("text"))
+ {
+ accurateText = false;
+ }
+ doExport(accurateText);
- if (renderStyle.equalsIgnoreCase("text"))
+ }
+
+ });
+ epsOption.showDialog();
+ }
+ else
{
- accurateText = false;
+ doExport(accurateText);
}
+ }
+ protected void doExport(boolean accurateText)
+ {
int width = getTreePanel().getWidth();
int height = getTreePanel().getHeight();
}
@Override
- public void checkMultipleTrees()
+ public void enableMultipleTrees()
{
aptxFrame.activateSaveAllIfNeeded();
}
+ @Override
+ public TreeViewerBindingI getViewBinding()
+ {
+ return viewBinding;
+ }
+
+ @Override
+ public void setViewBinding(TreeViewerBindingI alignmentBinding)
+ {
+ viewBinding = alignmentBinding;
+ }
+
+
+ @Override
+ public void setMaximumSize(Dimension maximumSize)
+ {
+ aptxFrame.setMaximumSize(maximumSize);
+
+ }
+
+ @Override
+ public void setPreferredSize(Dimension preferredSize)
+ {
+ aptxFrame.setPreferredSize(preferredSize);
+
+ }
+
}
\ No newline at end of file