From 33c24a4b371cef971d8728295a24e87fbf6bb5a8 Mon Sep 17 00:00:00 2001 From: gmungoc Date: Tue, 27 Sep 2016 11:06:44 +0100 Subject: [PATCH] JAL-2231 save preferred scroll height _without_ progress bar message --- src/jalview/gui/StructureChooser.java | 164 +++++++++++++++--------------- src/jalview/jbgui/GStructureChooser.java | 13 +-- 2 files changed, 89 insertions(+), 88 deletions(-) diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 33c7ff3..7d8f1bf 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -717,6 +717,7 @@ public class StructureChooser extends GStructureChooser implements { final long progressSessionId = System.currentTimeMillis(); final StructureSelectionManager ssm = ap.getStructureSelectionManager(); + final int preferredHeight = pnl_filter.getHeight(); ssm.setProgressIndicator(this); ssm.setProgressSessionId(progressSessionId); new Thread(new Runnable() @@ -724,84 +725,82 @@ public class StructureChooser extends GStructureChooser implements @Override public void run() { - FilterOption selectedFilterOpt = ((FilterOption) cmb_filterOption - .getSelectedItem()); - String currentView = selectedFilterOpt.getView(); - if (currentView == VIEWS_FILTER) - { + FilterOption selectedFilterOpt = ((FilterOption) cmb_filterOption + .getSelectedItem()); + String currentView = selectedFilterOpt.getView(); + if (currentView == VIEWS_FILTER) + { int pdbIdColIndex = getResultTable().getColumn("PDB Id") .getModelIndex(); int refSeqColIndex = getResultTable().getColumn("Ref Sequence") - .getModelIndex(); + .getModelIndex(); int[] selectedRows = getResultTable().getSelectedRows(); - PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length]; - int count = 0; - ArrayList selectedSeqsToView = new ArrayList(); - for (int row : selectedRows) - { + PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length]; + int count = 0; + ArrayList selectedSeqsToView = new ArrayList(); + for (int row : selectedRows) + { String pdbIdStr = getResultTable().getValueAt(row, - pdbIdColIndex) - .toString(); + pdbIdColIndex).toString(); SequenceI selectedSeq = (SequenceI) getResultTable() - .getValueAt(row, - refSeqColIndex); - selectedSeqsToView.add(selectedSeq); + .getValueAt(row, refSeqColIndex); + selectedSeqsToView.add(selectedSeq); PDBEntry pdbEntry = selectedSeq.getPDBEntry(pdbIdStr); if (pdbEntry == null) { pdbEntry = getFindEntry(pdbIdStr, selectedSeq.getAllPDBEntries()); } - if (pdbEntry == null) - { - pdbEntry = new PDBEntry(); - pdbEntry.setId(pdbIdStr); - pdbEntry.setType(PDBEntry.Type.PDB); - selectedSeq.getDatasetSequence().addPDBId(pdbEntry); - } - pdbEntriesToView[count++] = pdbEntry; - } - SequenceI[] selectedSeqs = selectedSeqsToView - .toArray(new SequenceI[selectedSeqsToView.size()]); + if (pdbEntry == null) + { + pdbEntry = new PDBEntry(); + pdbEntry.setId(pdbIdStr); + pdbEntry.setType(PDBEntry.Type.PDB); + selectedSeq.getDatasetSequence().addPDBId(pdbEntry); + } + pdbEntriesToView[count++] = pdbEntry; + } + SequenceI[] selectedSeqs = selectedSeqsToView + .toArray(new SequenceI[selectedSeqsToView.size()]); launchStructureViewer(ssm, pdbEntriesToView, ap, selectedSeqs); - } - else if (currentView == VIEWS_LOCAL_PDB) - { - int[] selectedRows = tbl_local_pdb.getSelectedRows(); - PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length]; - int count = 0; + } + else if (currentView == VIEWS_LOCAL_PDB) + { + int[] selectedRows = tbl_local_pdb.getSelectedRows(); + PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length]; + int count = 0; int pdbIdColIndex = tbl_local_pdb.getColumn("PDB Id") .getModelIndex(); - int refSeqColIndex = tbl_local_pdb.getColumn("Ref Sequence") - .getModelIndex(); - ArrayList selectedSeqsToView = new ArrayList(); - for (int row : selectedRows) - { - PDBEntry pdbEntry = (PDBEntry) tbl_local_pdb.getValueAt(row, - pdbIdColIndex); - pdbEntriesToView[count++] = pdbEntry; - SequenceI selectedSeq = (SequenceI) tbl_local_pdb.getValueAt(row, - refSeqColIndex); - selectedSeqsToView.add(selectedSeq); - } - SequenceI[] selectedSeqs = selectedSeqsToView - .toArray(new SequenceI[selectedSeqsToView.size()]); + int refSeqColIndex = tbl_local_pdb.getColumn("Ref Sequence") + .getModelIndex(); + ArrayList selectedSeqsToView = new ArrayList(); + for (int row : selectedRows) + { + PDBEntry pdbEntry = (PDBEntry) tbl_local_pdb.getValueAt(row, + pdbIdColIndex); + pdbEntriesToView[count++] = pdbEntry; + SequenceI selectedSeq = (SequenceI) tbl_local_pdb.getValueAt( + row, refSeqColIndex); + selectedSeqsToView.add(selectedSeq); + } + SequenceI[] selectedSeqs = selectedSeqsToView + .toArray(new SequenceI[selectedSeqsToView.size()]); launchStructureViewer(ssm, pdbEntriesToView, ap, selectedSeqs); - } - else if (currentView == VIEWS_ENTER_ID) - { - SequenceI userSelectedSeq = ((AssociateSeqOptions) idInputAssSeqPanel - .getCmb_assSeq().getSelectedItem()).getSequence(); - if (userSelectedSeq != null) - { - selectedSequence = userSelectedSeq; - } + } + else if (currentView == VIEWS_ENTER_ID) + { + SequenceI userSelectedSeq = ((AssociateSeqOptions) idInputAssSeqPanel + .getCmb_assSeq().getSelectedItem()).getSequence(); + if (userSelectedSeq != null) + { + selectedSequence = userSelectedSeq; + } - String pdbIdStr = txt_search.getText(); - PDBEntry pdbEntry = selectedSequence.getPDBEntry(pdbIdStr); - if (pdbEntry == null) - { - pdbEntry = new PDBEntry(); + String pdbIdStr = txt_search.getText(); + PDBEntry pdbEntry = selectedSequence.getPDBEntry(pdbIdStr); + if (pdbEntry == null) + { + pdbEntry = new PDBEntry(); if (pdbIdStr.split(":").length > 1) { pdbEntry.setId(pdbIdStr.split(":")[0]); @@ -811,31 +810,31 @@ public class StructureChooser extends GStructureChooser implements { pdbEntry.setId(pdbIdStr); } - pdbEntry.setType(PDBEntry.Type.PDB); - selectedSequence.getDatasetSequence().addPDBId(pdbEntry); - } + pdbEntry.setType(PDBEntry.Type.PDB); + selectedSequence.getDatasetSequence().addPDBId(pdbEntry); + } - PDBEntry[] pdbEntriesToView = new PDBEntry[] { pdbEntry }; + PDBEntry[] pdbEntriesToView = new PDBEntry[] { pdbEntry }; launchStructureViewer(ssm, pdbEntriesToView, ap, new SequenceI[] { selectedSequence }); - } - else if (currentView == VIEWS_FROM_FILE) - { - SequenceI userSelectedSeq = ((AssociateSeqOptions) fileChooserAssSeqPanel - .getCmb_assSeq().getSelectedItem()).getSequence(); - if (userSelectedSeq != null) - { - selectedSequence = userSelectedSeq; - } - PDBEntry fileEntry = new AssociatePdbFileWithSeq() - .associatePdbWithSeq(selectedPdbFileName, - jalview.io.AppletFormatAdapter.FILE, - selectedSequence, true, Desktop.instance); + } + else if (currentView == VIEWS_FROM_FILE) + { + SequenceI userSelectedSeq = ((AssociateSeqOptions) fileChooserAssSeqPanel + .getCmb_assSeq().getSelectedItem()).getSequence(); + if (userSelectedSeq != null) + { + selectedSequence = userSelectedSeq; + } + PDBEntry fileEntry = new AssociatePdbFileWithSeq() + .associatePdbWithSeq(selectedPdbFileName, + jalview.io.AppletFormatAdapter.FILE, + selectedSequence, true, Desktop.instance); launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap, new SequenceI[] { selectedSequence }); - } - closeAction(); + } + closeAction(preferredHeight); } }).start(); } @@ -865,7 +864,7 @@ public class StructureChooser extends GStructureChooser implements if (SiftsSettings.isMapWithSifts()) { - ArrayList seqsWithoutSourceDBRef = new ArrayList(); + List seqsWithoutSourceDBRef = new ArrayList(); int p = 0; // TODO: skip PDBEntry:Sequence pairs where PDBEntry doesn't look like a // real PDB ID. For moment, we can also safely do this if there is already @@ -906,7 +905,8 @@ public class StructureChooser extends GStructureChooser implements { seqWithoutSrcDBRef[x++] = fSeq; } - new DBRefFetcher(seqWithoutSrcDBRef).fetchDBRefs(true); + DBRefFetcher dbRefFetcher = new DBRefFetcher(seqWithoutSrcDBRef); + dbRefFetcher.fetchDBRefs(true); } } if (pdbEntriesToView.length > 1) diff --git a/src/jalview/jbgui/GStructureChooser.java b/src/jalview/jbgui/GStructureChooser.java index 1348e59..ec12b26 100644 --- a/src/jalview/jbgui/GStructureChooser.java +++ b/src/jalview/jbgui/GStructureChooser.java @@ -166,7 +166,7 @@ public abstract class GStructureChooser extends JPanel implements protected JScrollPane scrl_localPDB = new JScrollPane(tbl_local_pdb); - private JTabbedPane pnl_filter = new JTabbedPane(); + protected JTabbedPane pnl_filter = new JTabbedPane(); protected FTSDataColumnPreferences pdbDocFieldPrefs = new FTSDataColumnPreferences( PreferenceSource.STRUCTURE_CHOOSER, @@ -414,7 +414,7 @@ public abstract class GStructureChooser extends JPanel implements @Override public void actionPerformed(ActionEvent e) { - closeAction(); + closeAction(pnl_filter.getHeight()); } }); btn_cancel.addKeyListener(new KeyAdapter() @@ -424,7 +424,7 @@ public abstract class GStructureChooser extends JPanel implements { if (evt.getKeyCode() == KeyEvent.VK_ENTER) { - closeAction(); + closeAction(pnl_filter.getHeight()); } } }); @@ -577,7 +577,7 @@ public abstract class GStructureChooser extends JPanel implements @Override public void internalFrameClosing(InternalFrameEvent e) { - closeAction(); + closeAction(pnl_filter.getHeight()); } }); mainFrame.setVisible(true); @@ -592,7 +592,7 @@ public abstract class GStructureChooser extends JPanel implements Desktop.addInternalFrame(mainFrame, frameTitle, width, height); } - protected void closeAction() + protected void closeAction(int preferredHeight) { // System.out.println(">>>>>>>>>> closing internal frame!!!"); // System.out.println("width : " + mainFrame.getWidth()); @@ -600,11 +600,12 @@ public abstract class GStructureChooser extends JPanel implements // System.out.println("x : " + mainFrame.getX()); // System.out.println("y : " + mainFrame.getY()); tempUserPrefs.put("structureChooser.width", pnl_filter.getWidth()); - tempUserPrefs.put("structureChooser.height", pnl_filter.getHeight()); + tempUserPrefs.put("structureChooser.height", preferredHeight); tempUserPrefs.put("structureChooser.x", mainFrame.getX()); tempUserPrefs.put("structureChooser.y", mainFrame.getY()); mainFrame.dispose(); } + public boolean wantedFieldsUpdated() { if (previousWantedFields == null) -- 1.7.10.2