X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Ffts%2Fcore%2FGFTSPanel.java;h=1c799aa1bd63037bfbc5e19cd79b7dbbbc163c7b;hb=5585b4b0ed1f5dd85887ed6b76352947ce1be133;hp=ccf33ed52a0c6dc1671e3a11070ef9860bb78103;hpb=2dce7a14750a1a0484e71ba4c089ecfb44cc55b7;p=jalview.git diff --git a/src/jalview/fts/core/GFTSPanel.java b/src/jalview/fts/core/GFTSPanel.java index ccf33ed..1c799aa 100644 --- a/src/jalview/fts/core/GFTSPanel.java +++ b/src/jalview/fts/core/GFTSPanel.java @@ -103,6 +103,43 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI protected JButton btn_prev_page = new JButton(); + protected StringBuilder errorWarning = new StringBuilder(); + + protected ImageIcon warningImage = new ImageIcon(getClass().getResource( + "/images/warning.gif")); + + protected ImageIcon loadingImage = new ImageIcon(getClass().getResource( + "/images/loading.gif")); + + protected ImageIcon balnkPlaceholderImage = new ImageIcon(getClass() + .getResource("/images/blank_16x16_placeholder.png")); + + protected JLabel lbl_warning = new JLabel(warningImage); + + protected JLabel lbl_loading = new JLabel(loadingImage); + + protected JLabel lbl_blank = new JLabel(balnkPlaceholderImage); + + private JTabbedPane tabbedPane = new JTabbedPane(); + + private JPanel pnl_actions = new JPanel(); + + private JPanel pnl_results = new JPanel(new CardLayout()); + + private JPanel pnl_inputs = new JPanel(); + + private BorderLayout mainLayout = new BorderLayout(); + + protected Object[] previousWantedFields; + + protected int resultSetCount; + + protected int totalResultSetCount; + + protected int offSet; + + protected int pageLimit; + private JTable tbl_summary = new JTable() { private boolean inLayout; @@ -178,38 +215,8 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI return toolTipText; } }; - - protected StringBuilder errorWarning = new StringBuilder(); - protected JScrollPane scrl_searchResult = new JScrollPane(tbl_summary); - protected ImageIcon warningImage = new ImageIcon(getClass().getResource( - "/images/warning.gif")); - - protected ImageIcon loadingImage = new ImageIcon(getClass().getResource( - "/images/loading.gif")); - - protected ImageIcon balnkPlaceholderImage = new ImageIcon(getClass() - .getResource("/images/blank_16x16_placeholder.png")); - - protected JLabel lbl_warning = new JLabel(warningImage); - - protected JLabel lbl_loading = new JLabel(loadingImage); - - protected JLabel lbl_blank = new JLabel(balnkPlaceholderImage); - - private JTabbedPane tabbedPane = new JTabbedPane(); - - private JPanel pnl_actions = new JPanel(); - - private JPanel pnl_results = new JPanel(new CardLayout()); - - private JPanel pnl_inputs = new JPanel(); - - private BorderLayout mainLayout = new BorderLayout(); - - protected Object[] previousWantedFields; - public GFTSPanel() { try @@ -444,7 +451,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI } txt_search.setToolTipText(JvSwingUtils.wrapTooltip(true, tooltipText)); - searchAction(); + searchAction(true); } }); @@ -484,7 +491,7 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI { if (!getTypedText().equalsIgnoreCase(lastSearchTerm)) { - searchAction(); + searchAction(true); lastSearchTerm = getTypedText(); } } @@ -529,6 +536,10 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI btn_back.setEnabled(false); btn_cancel.setEnabled(false); btn_ok.setEnabled(false); + btn_next_page.setEnabled(false); + btn_prev_page.setEnabled(false); + txt_search.setEnabled(false); + cmb_searchTarget.setEnabled(false); previousWantedFields = getFTSRestClient() .getAllDefaulDisplayedDataColumns() .toArray(new Object[0]); @@ -537,9 +548,12 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI { btn_back.setEnabled(true); btn_cancel.setEnabled(true); + refreshPaginatorState(); + txt_search.setEnabled(true); + cmb_searchTarget.setEnabled(true); if (wantedFieldsUpdated()) { - searchAction(); + searchAction(true); } else { @@ -807,6 +821,45 @@ public abstract class GFTSPanel extends JPanel implements GFTSPanelI lbl_blank.setVisible(!isSearchInProgress); lbl_loading.setVisible(isSearchInProgress); } + + @Override + public void prevPageAction() + { + if (offSet >= pageLimit) + { + offSet = offSet - pageLimit; + searchAction(false); + } + else + { + refreshPaginatorState(); + } + } + + @Override + public void nextPageAction() + { + offSet = offSet + pageLimit; + searchAction(false); + + } + + public void refreshPaginatorState() + { + // System.out.println("resultSet count : " + resultSetCount); + // System.out.println("offSet : " + offSet); + // System.out.println("page limit : " + pageLimit); + setPrevPageButtonEnabled(false); + setNextPageButtonEnabled(false); + if (resultSetCount >= pageLimit) + { + setNextPageButtonEnabled(true); + } + if (offSet >= pageLimit) + { + setPrevPageButtonEnabled(true); + } + } public void referesh() { mainFrame.setTitle(getFTSFrameTitle());