⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qgridpager.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    }
    
    private void setupPages() {
        pagesCtrl.clear();
        
        final long currentPage = model.getCurrentPage();
        
        final PagerHyperlink firstPageLink = new PagerHyperlink();
        firstPageLink.setHTML("<<");
        firstPageLink.addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                firePageChanged(0);
            }
        });
        firstPageLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
        firstPageLink.setDisabled(currentPage == 0);
        pagesCtrl.add(firstPageLink);
        
        PagerHyperlink prevPageLink = new PagerHyperlink();
        prevPageLink.setHTML("<");
        prevPageLink.addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                firePageChanged(currentPage - 1);
            }
        });
        prevPageLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
        prevPageLink.setDisabled(currentPage == 0);
        pagesCtrl.add(prevPageLink);
        
        if(model.isCounterToggledOn()) {
            totalRecordsLabel.setVisible(true);
            totalRecordsCtrl.setVisible(true);
            totalRecordsCtrl.setText(Long.toString(model.getRecordsTotal() == -1 ? 0 : model.getRecordsTotal()));
        } else {
            totalRecordsLabel.setVisible(false);
            totalRecordsCtrl.setVisible(false);
        }
        
        long firstPage = (long) Math.floor(currentPage / VISIBLE_PAGES_COUNT) * VISIBLE_PAGES_COUNT;//todo change it
        long pageCount = model.getPagesCount();
        long totalLastPage = pageCount - 1;
        long proposingListLastPage = firstPage + VISIBLE_PAGES_COUNT;
        long currentListLastPage = (proposingListLastPage > pageCount ? pageCount : proposingListLastPage) - 1;

        for (long page = firstPage; page <= currentListLastPage; page++) {
            String label = (page + 1) + "";
            if (page == currentPage) {
                label = "[" + label + "]";
            }
            PagerHyperlink pageLink = new PagerHyperlink();
            pageLink.setText(label);
            pageLink.addStyleName(PagerHyperlink.STYLE_ENABLED);
            pageLink.setTitle("Go to " + (page + 1) + " page");
            final long newPage = page;
            pageLink.addClickListener(new ClickListener() {
                public void onClick(Widget sender) {
                    firePageChanged(newPage);
                }
            });
            pageLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
            pagesCtrl.add(pageLink);
        }

        /*if (lastPage != (model.getPagesCount() - 1)) {//todo restore "..." if needed, actually enabling/disabling of < or > shows its status.
            final long nextPage = lastPage + 1;
            PagerHyperlink nextPageSetLink = new PagerHyperlink();
            nextPageSetLink.setText("...");
            nextPageSetLink.addStyleName(PagerHyperlink.STYLE_ENABLED);
            nextPageSetLink.setTitle("Go to " + (nextPage + 1) + " page");
            nextPageSetLink.addClickListener(new ClickListener() {
                public void onClick(Widget sender) {
                    firePageChanged(nextPage);
                }
            });
            nextPageSetLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
            pagesCtrl.add(nextPageSetLink);
        }*/

        PagerHyperlink nextPageLink = new PagerHyperlink();
        nextPageLink.setHTML("&gt;");
        nextPageLink.addStyleName(PagerHyperlink.STYLE_ENABLED);
        nextPageLink.setDisabled(currentPage >= totalLastPage);
        nextPageLink.addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                firePageChanged(currentPage + 1);
            }
        });
        nextPageLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
        pagesCtrl.add(nextPageLink);

        PagerHyperlink lastPageLink = new PagerHyperlink();
        lastPageLink.setHTML("&gt;&gt;");
        lastPageLink.setDisabled(currentPage >= totalLastPage);
        lastPageLink.addClickListener(new ClickListener() {
            public void onClick(Widget sender) {
                firePageChanged(model.getPagesCount() - 1);
            }
        });
        lastPageLink.addStyleName(PAGER_PADDING_RIGHT_ELEMENT_STYLE);
        pagesCtrl.add(lastPageLink);
    }
    
    public void reinitPager() {
        setupLoadedRecords();
        setupPages();
    }
    
    public void addPagerListener(QPagerListener listener) {
        pagerListeners.add(listener);
    }
    
    public void removePagerListener(QPagerListener listener) {
        pagerListeners.remove(listener);
    }
    
    protected void firePageChanged(long newPage) {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onPageChange(newPage);
        }
    }
    
    protected void firePageSizeChanged(int newPageSize) {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onPageSizeChange(newPageSize);
        }
    }
    
    protected void fireCounterToggled(boolean newCounterValue) {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onToggleCounter(newCounterValue);
        }
    }
    
    private void fireCustomized(SubsetData data) {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onCustomize(data);
        }
    }
    
    private void fireRefreshed() {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onRefresh();
        }
    }
    
    private void firePrint() {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onPrint();
        }
    }
    
    private void fireWord() {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onExportToWord();
        }
    }
    
    private void fireExcel() {
        for (int i = 0; i < pagerListeners.size(); i++) {
            QPagerListener listener = (QPagerListener) pagerListeners.get(i);
            listener.onExportToExcel();
        }
    }
    
    public void setVerticalAlignment(HasVerticalAlignment.VerticalAlignmentConstant align) {
    }
    
    public void onEvent(Event event, Widget sender) {
        if (sender == customizer) {
            if (event == OkayCancelPopup.Events.OK) {
                SubsetData data = customizer.getSubsetData();
                fireCustomized(data);
            }
        } else if (sender == menu) {
            if (event == Events.SELECT_ALL){
                selectionModListeners.fireSelectAll();
            } else if (event == Events.DESELECT_ALL) {
                selectionModListeners.fireDeselectAll();
            } else if (event == Events.INVERT_SELECTION) {
                selectionModListeners.fireInvertSelection();
            }
        }
    }
    
    public void addGridSelectionModListener(GridSelectionModListener listener) {
        selectionModListeners.add(listener);
    }
    
    public void removeGridSelectionModListener(GridSelectionModListener listener) {
        selectionModListeners.remove(listener);
    }
    
    public void onClick(Widget sender) {
        if (sender == counterCtrl) {
            if (model.isCounterToggledOn() != counterCtrl.isChecked()) {
                fireCounterToggled(counterCtrl.isChecked());
            }
        } else if (sender == counterLabel) {
            counterCtrl.setChecked(!model.isCounterToggledOn());
            fireCounterToggled(counterCtrl.isChecked());
        } else if (sender == refreshButton) {
            fireRefreshed();
        } else if (sender == printButton) {
            firePrint();
        } else if (sender == wordButton) {
            fireWord();
        } else if (sender == excelButton) {
            fireExcel();
        }
    }
    
    public void onChange(Widget sender) {
        if (sender == pageSizeCtrl) {
            int pageSize = model.getPageSize();
            try {
                int newPageSize = Integer.parseInt(pageSizeCtrl.getText());
                if(newPageSize < 1) {
                    throw new NumberFormatException();
                } else {
                    pageSize = newPageSize;
                    firePageSizeChanged(pageSize);
                }
            } catch (NumberFormatException e) {
                pageSizeCtrl.setText(String.valueOf(pageSize));
                DialogHelper.showModalMessageDialog(POSITIVE_INT_ERROR_MESSAGE);
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -