import java.awt.print.PageFormat;
import java.awt.print.PrinterJob;
import java.beans.PropertyChangeEvent;
+import java.beans.PropertyVetoException;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
IProgressIndicator, AlignViewControllerGuiI, ColourChangeListener
{
+ public class IFrame extends JInternalFrame
+ {
+ public AlignFrame alignframe;
+
+ IFrame(AlignFrame alignframe)
+ {
+ this.alignframe = alignframe;
+ }
+
+ }
+
public static final int DEFAULT_WIDTH = 700;
public static final int DEFAULT_HEIGHT = 500;
public AlignFrame(AlignmentI al, HiddenColumns hiddenColumns, int width,
int height, String sequenceSetId, String viewId)
{
+ super();
+
+ System.out.println("AlignFrame 1");
+
setSize(width, height);
+ System.out.println("GAlignFrame 2");
+
if (al.getDataset() == null)
{
al.setDataset(null);
}
+ System.out.println("GAlignFrame 3");
+
viewport = new AlignViewport(al, hiddenColumns, sequenceSetId, viewId);
+ System.out.println("GAlignFrame 4");
+
init();
}
*/
void init()
{
+
+ System.out.println("AlignFrame 8");
boolean newPanel = (alignPanel == null);
viewport.setShowAutocalculatedAbove(isShowAutoCalculatedAbove());
+
+ System.out.println("AlignFrame 9");
if (newPanel)
{
if (Platform.isJS())
boolean showAnnotation = Jalview.getInstance().getShowAnnotation();
viewport.setShowAnnotation(showAnnotation);
}
+ System.out.println("AlignFrame 11");
alignPanel = new AlignmentPanel(this, viewport);
+ System.out.println("GAlignFrame 12");
}
+ System.out.println("GAlignFrame 13");
addAlignmentPanel(alignPanel, newPanel);
+ System.out.println("GAlignFrame 14");
// setBackground(Color.white); // BH 2019
int aSize = alignPanels.size();
+ System.out.println("AlignFrame 21");
+
tabbedPane.setVisible(aSize > 1 || ap.av.getViewName() != null);
+ System.out.println("AlignFrame 23");
if (aSize == 1 && ap.av.getViewName() == null)
{
- this.getContentPane().add(ap, BorderLayout.CENTER);
+ getContentPane().add(ap, BorderLayout.CENTER);
}
else
{
tabbedPane.setVisible(true);
AlignmentPanel first = alignPanels.get(0);
tabbedPane.addTab(first.av.getViewName(), first);
- this.getContentPane().add(tabbedPane, BorderLayout.CENTER);
+ getContentPane().add(tabbedPane, BorderLayout.CENTER);
}
+
public AlignViewport getViewport()
{
return viewport;
}
}
});
- addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()
+ iframe.addInternalFrameListener(
+ new javax.swing.event.InternalFrameAdapter()
{
@Override
public void internalFrameClosed(
// file is reloaded.
if (FileFormat.Jalview.equals(currentFileFormat))
{
- JInternalFrame[] frames = Desktop.getDesktopPane().getAllFrames();
+ AlignFrame[] frames = Desktop.getAlignFrames();
for (int i = 0; i < frames.length; i++)
{
if (frames[i] instanceof AlignFrame && frames[i] != this
- && ((AlignFrame) frames[i]).fileName != null
- && ((AlignFrame) frames[i]).fileName.equals(fileName))
+ && frames[i].fileName != null
+ && frames[i].fileName.equals(fileName))
{
try
{
}
Desktop.getInstance().closeAssociatedWindows();
- FileLoader loader = new FileLoader();
+ FileLoader loader = new FileLoader(!Jalview.isHeadlessMode());
DataSourceType protocol = fileName.startsWith("http:")
? DataSourceType.URL
: DataSourceType.FILE;
}
}
+
@Override
public void addFromText_actionPerformed(ActionEvent e)
{
if (FileFormat.Jalview.equals(format))
{
- String shortName = title;
+ String shortName = getTitle();
if (shortName.indexOf(File.separatorChar) > -1)
{
shortName = shortName.substring(
{
if (closeAllTabs)
{
- if (this.isClosed())
+ if (isClosed())
{
// really close all the windows - otherwise wait till
// setClosed(true) is called
* this will raise an INTERNAL_FRAME_CLOSED event and this method will
* be called recursively, with the frame now in 'closed' state
*/
- this.setClosed(true);
+ iframe.setClosed(true);
}
} catch (Exception ex)
{
// title a concatenation of operations.
if (!externalPaste)
{
- if (title.startsWith("Copied sequences"))
+ if (getTitle().startsWith("Copied sequences"))
{
- newtitle = title;
+ newtitle = getTitle();
}
else
{
- newtitle = newtitle.concat("- from " + title);
+ newtitle = newtitle.concat("- from " + getTitle());
}
}
else
// TODO: maintain provenance of an alignment, rather than just make the
// title a concatenation of operations.
{
- if (title.startsWith("Copied sequences"))
+ if (getTitle().startsWith("Copied sequences"))
{
- newtitle = title;
+ newtitle = getTitle();
}
else
{
- newtitle = newtitle.concat("- from " + title);
+ newtitle = newtitle.concat("- from " + getTitle());
}
}
- Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH, DEFAULT_HEIGHT);
+ Desktop.addInternalFrame(af, newtitle, DEFAULT_WIDTH,
+ DEFAULT_HEIGHT);
} catch (Exception ex)
{
{
try
{
- AlignFrame.this.setClosed(true);
+ AlignFrame.this.getIFrame().setClosed(true);
} catch (Exception ex)
{
}
frameTitle += viewport.getViewName() + " of ";
}
- frameTitle += this.title;
+ frameTitle += this.getTitle();
Desktop.addInternalFrame(tp, frameTitle, 600, 500);
}
}
else
{
- new FileLoader().loadFile(viewport, file, sourceType, format);
+ new FileLoader(!Jalview.isHeadlessMode()).loadFile(viewport, file, sourceType, format);
}
}
}
}
AlignmentI cdna = new Alignment(
cdnaSeqs.toArray(new SequenceI[cdnaSeqs.size()]));
- GAlignFrame alignFrame = new AlignFrame(cdna, AlignFrame.DEFAULT_WIDTH,
+ AlignFrame alignFrame = new AlignFrame(cdna, AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);
cdna.alignAs(alignment);
String newtitle = "cDNA " + MessageManager.getString("label.for") + " "
- + this.title;
- Desktop.addInternalFrame(alignFrame, newtitle, AlignFrame.DEFAULT_WIDTH,
+ + getTitle();
+ Desktop.addInternalFrame(alignFrame, newtitle,
+ AlignFrame.DEFAULT_WIDTH,
AlignFrame.DEFAULT_HEIGHT);
}
alignPanel.getSeqPanel().selection(sel, csel, hidden, null);
}
+ public void setSelected(boolean b) throws PropertyVetoException
+ {
+ if (iframe != null)
+ {
+ iframe.setSelected(b);
+ }
+ }
+
+ @Override
+ protected JInternalFrame getInternalFrame()
+ {
+ return new IFrame(this);
+ }
+
+ public void dispose()
+ {
+ if (iframe != null)
+ {
+ iframe.dispose();
+ }
+ }
+
+ public void setMaximum(boolean b) throws PropertyVetoException
+ {
+ if (iframe != null)
+ {
+ iframe.setMaximum(b);
+ }
+ }
+
+ public boolean isClosed()
+ {
+ return (iframe != null && iframe.isClosed());
+ }
+
}
class PrintThread extends Thread