X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Ffts%2Fcore%2FGFTSPanel.java;h=6000526b9b9b6c0d3e8f8f9d7b9995b124f89c36;hb=73f4373f0ad3d76ca36a32201d3ed53c255180c5;hp=ee71407f6842d00f4db30f93f3e4d6939f16290f;hpb=ff4ad07a2e5ac97ed8631c7ee58f3524277c58c8;p=jalview.git diff --git a/src/jalview/fts/core/GFTSPanel.java b/src/jalview/fts/core/GFTSPanel.java index ee71407..6000526 100644 --- a/src/jalview/fts/core/GFTSPanel.java +++ b/src/jalview/fts/core/GFTSPanel.java @@ -35,6 +35,7 @@ import java.awt.CardLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.FocusAdapter; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyAdapter; @@ -66,6 +67,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +import javax.swing.event.InternalFrameEvent; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; @@ -83,7 +85,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected JInternalFrame mainFrame = new JInternalFrame( getFTSFrameTitle()); - protected IProgressIndicator progressIdicator; + protected IProgressIndicator progressIndicator; protected JComboBox cmb_searchTarget = new JComboBox(); @@ -144,6 +146,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected HashSet paginatorCart = new HashSet(); + private static final int MIN_WIDTH = 670; + + private static final int MIN_HEIGHT = 300; + protected static final DecimalFormat totalNumberformatter = new DecimalFormat( "###,###"); @@ -190,6 +196,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI && !inLayout) { resizingColumn.setPreferredWidth(resizingColumn.getWidth()); + String colHeader = resizingColumn.getHeaderValue().toString(); + getTempUserPrefs().put(colHeader, resizingColumn.getWidth()); } resizeAndRepaint(); } @@ -222,6 +230,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI return toolTipText; } }; + protected JScrollPane scrl_searchResult = new JScrollPane(tbl_summary); public GFTSPanel() @@ -229,6 +238,15 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI try { jbInit(); + mainFrame.setMinimumSize(new Dimension(MIN_WIDTH, MIN_HEIGHT)); + mainFrame.addFocusListener(new FocusAdapter() + { + @Override + public void focusGained(FocusEvent e) + { + txt_search.requestFocusInWindow(); + } + }); mainFrame.invalidate(); mainFrame.pack(); } catch (Exception e) @@ -244,6 +262,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI */ private void jbInit() throws Exception { + Integer width = getTempUserPrefs().get("FTSPanel.width") == null ? 800 + : getTempUserPrefs().get("FTSPanel.width"); + Integer height = getTempUserPrefs().get("FTSPanel.height") == null ? 400 + : getTempUserPrefs().get("FTSPanel.height"); lbl_warning.setVisible(false); lbl_warning.setFont(new java.awt.Font("Verdana", 0, 12)); lbl_loading.setVisible(false); @@ -428,7 +450,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } } }); - scrl_searchResult.setPreferredSize(new Dimension(800, 400)); + scrl_searchResult.setPreferredSize(new Dimension(width, height)); cmb_searchTarget.setFont(new java.awt.Font("Verdana", 0, 12)); cmb_searchTarget.addActionListener(new ActionListener() @@ -489,8 +511,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI }); final DeferredTextInputListener listener = new DeferredTextInputListener( - 1500, - new ActionListener() + 1500, new ActionListener() { @Override public void actionPerformed(ActionEvent e) @@ -515,7 +536,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI @Override public void focusLost(FocusEvent e) { -// listener.stop(); + // listener.stop(); } }); @@ -548,8 +569,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI txt_search.setEnabled(false); cmb_searchTarget.setEnabled(false); previousWantedFields = getFTSRestClient() - .getAllDefaulDisplayedDataColumns() - .toArray(new Object[0]); + .getAllDefaultDisplayedFTSDataColumns().toArray( + new Object[0]); } if (sourceTabbedPane.getTitleAt(index).equals(searchTabTitle)) { @@ -571,7 +592,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } }; tabbedPane.addChangeListener(changeListener); - tabbedPane.setPreferredSize(new Dimension(800, 400)); + tabbedPane.setPreferredSize(new Dimension(width, height)); tabbedPane.add(searchTabTitle, scrl_searchResult); tabbedPane.add(configureCols, new FTSDataColumnPreferences( PreferenceSource.SEARCH_SUMMARY, getFTSRestClient())); @@ -596,7 +617,39 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI mainFrame.setVisible(true); mainFrame.setContentPane(this); mainFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - Desktop.addInternalFrame(mainFrame, getFTSFrameTitle(), 900, 500); + mainFrame + .addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() + { + @Override + public void internalFrameClosing(InternalFrameEvent e) + { + closeAction(); + } + }); + mainFrame.setVisible(true); + mainFrame.setContentPane(this); + mainFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + Integer x = getTempUserPrefs().get("FTSPanel.x"); + Integer y = getTempUserPrefs().get("FTSPanel.y"); + if (x != null && y != null) + { + mainFrame.setLocation(x, y); + } + Desktop.addInternalFrame(mainFrame, getFTSFrameTitle(), width, height); + } + + protected void closeAction() + { + // System.out.println(">>>>>>>>>> closing internal frame!!!"); + // System.out.println("width : " + this.getWidth()); + // System.out.println("heigh : " + this.getHeight()); + // System.out.println("x : " + mainFrame.getX()); + // System.out.println("y : " + mainFrame.getY()); + getTempUserPrefs().put("FTSPanel.width", this.getWidth()); + getTempUserPrefs().put("FTSPanel.height", pnl_results.getHeight()); + getTempUserPrefs().put("FTSPanel.x", mainFrame.getX()); + getTempUserPrefs().put("FTSPanel.y", mainFrame.getY()); + mainFrame.dispose(); } public class DeferredTextInputListener implements DocumentListener @@ -648,9 +701,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } return Arrays.equals(getFTSRestClient() - .getAllDefaulDisplayedDataColumns() - .toArray(new Object[0]), previousWantedFields) ? false - : true; + .getAllDefaultDisplayedFTSDataColumns().toArray(new Object[0]), + previousWantedFields) ? false : true; } @@ -719,8 +771,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected void btn_back_ActionPerformed() { - mainFrame.dispose(); - new SequenceFetcher(progressIdicator); + closeAction(); + new SequenceFetcher(progressIndicator); } protected void disableActionButtons() @@ -732,7 +784,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected void btn_cancel_ActionPerformed() { - mainFrame.dispose(); + closeAction(); } /** @@ -766,7 +818,6 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } } - public void transferToSequenceFetcher(String ids) { // mainFrame.dispose(); @@ -879,8 +930,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI int[] selectedRows = resultTable.getSelectedRows(); for (int summaryRow : selectedRows) { - String idStr = resultTable.getValueAt(summaryRow, - primaryKeyColIndex).toString(); + String idStr = resultTable.getValueAt(summaryRow, primaryKeyColIndex) + .toString(); paginatorCart.add(idStr); } // System.out.println("Paginator shopping cart size : " @@ -916,6 +967,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } validateSelection(); } + public void refreshPaginatorState() { // System.out.println("resultSet count : " + resultSetCount); @@ -936,6 +988,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI setPrevPageButtonEnabled(true); } } + public void referesh() { mainFrame.setTitle(getFTSFrameTitle());