merge
[jalview.git] / src / jalview / io / FileLoader.java
index a27777f..e27c666 100755 (executable)
  */
 package jalview.io;
 
+import java.util.StringTokenizer;
+import java.util.Vector;
+
+import javax.swing.JOptionPane;
+import javax.swing.SwingUtilities;
+
+import jalview.api.ComplexAlignFile;
 import jalview.datamodel.AlignmentI;
+import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.gui.AlignFrame;
 import jalview.gui.AlignViewport;
 import jalview.gui.Desktop;
 import jalview.gui.Jalview2XML;
+import jalview.schemes.ColourSchemeI;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.MessageManager;
 
-import java.util.StringTokenizer;
-import java.util.Vector;
-
-import javax.swing.JOptionPane;
-import javax.swing.SwingUtilities;
-
 public class FileLoader implements Runnable
 {
   String file;
@@ -335,26 +338,38 @@ public class FileLoader implements Runnable
           }
           else
           {
-            alignFrame = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH,
-                    AlignFrame.DEFAULT_HEIGHT);
-
-            alignFrame.statusBar.setText(MessageManager.formatMessage(
-                    "label.successfully_loaded_file", new String[]
-                    { title }));
-
             if (!protocol.equals(AppletFormatAdapter.PASTE))
             {
               alignFrame.setFileName(file, format);
             }
-            if (source instanceof HtmlFile)
+            if (source instanceof ComplexAlignFile)
             {
-              ((HtmlFile) source).applySettingsToAlignmentView(alignFrame);
+              ColumnSelection colSel = ((ComplexAlignFile) source)
+                      .getColumnSelection();
+              SequenceI[] hiddenSeqs = ((ComplexAlignFile) source)
+                      .getHiddenSequences();
+              boolean showSeqFeatures = ((ComplexAlignFile) source)
+                      .isShowSeqFeatures();
+              ColourSchemeI cs = ((ComplexAlignFile) source)
+                      .getColourScheme();
+              alignFrame = new AlignFrame(al, hiddenSeqs, colSel,
+                      AlignFrame.DEFAULT_WIDTH,
+                      AlignFrame.DEFAULT_HEIGHT);
+
+              alignFrame.getViewport().setShowSequenceFeatures(
+                      showSeqFeatures);
+              alignFrame.changeColour(cs);
             }
-            else if (source instanceof JSONFile)
+            else
             {
-              ((JSONFile) source).applySettingsToAlignmentView(alignFrame);
+              alignFrame = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH,
+                      AlignFrame.DEFAULT_HEIGHT);
             }
 
+            alignFrame.statusBar.setText(MessageManager.formatMessage(
+                    "label.successfully_loaded_file", new String[]
+                    { title }));
+
             if (raiseGUI)
             {
               // add the window to the GUI