use of org.eclipse.nebula.widgets.pagination.renderers.navigation.ResultAndNavigationPageGraphicsRenderer in project tdq-studio-se by Talend.
the class ColumnSetAnalysisResultPage method redrawPagationComposite.
/**
* DOC zshen Comment method "redrawPagationComposite".
*
* @param parent
*/
private void redrawPagationComposite(Composite parent, List<Map<Integer, RegexpMatchingIndicator>> patternList, boolean withPageNumberButton) {
final IPageLoader<PageResult<Object[]>> pageLoader = new MapDBPageLoader<Object>(mapDB, new PatternsDataValidation(patternList, filterType), mapDB.size());
controller.removePageChangedListener(createLoadPageAndReplaceItemsListener);
controller.removePageChangedListener(resultAndPageButtonsDecorator);
controller.setCurrentPage(-1);
createLoadPageAndReplaceItemsListener = PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller, columnsElementViewer, pageLoader, PageResultContentProvider.getInstance(), null);
controller.addPageChangedListener(createLoadPageAndReplaceItemsListener);
if (buttonComposite != null) {
buttonComposite.dispose();
}
buttonComposite = new Composite(parent, SWT.NONE);
buttonComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
buttonComposite.setLayout(new GridLayout());
if (withPageNumberButton) {
resultAndPageButtonsDecorator = new ResultAndNavigationPageGraphicsRenderer(buttonComposite, SWT.NONE, controller);
} else {
resultAndPageButtonsDecorator = new ColumnSetNavigationPageGraphicsRenderer(buttonComposite, SWT.NONE, controller);
}
GridData gridData = new GridData(GridData.FILL_BOTH);
resultAndPageButtonsDecorator.setLayoutData(gridData);
controller.reset();
parent.layout();
}
use of org.eclipse.nebula.widgets.pagination.renderers.navigation.ResultAndNavigationPageGraphicsRenderer in project tdq-studio-se by Talend.
the class DrillDownResultEditor method initTableViewerForMapDB.
/**
* DOC talend Comment method "initTableViewerForMapDB".
*
* @param parent
* @param table
* @param ddEditorInput
*/
@SuppressWarnings("unchecked")
private void initTableViewerForMapDB(final Composite parent, final Table table, DrillDownEditorInput ddEditorInput) {
table.setLinesVisible(true);
table.setHeaderVisible(true);
tableView.setLabelProvider(new DrillDownResultLabelProvider());
tableView.setContentProvider(new DrillDownResultContentProvider());
// set page size
final PageableController controller = new PageableController(MapDBPageConstant.NUMBER_PER_PAGE);
Object dataSetForMapDB = ddEditorInput.getDataSetForMapDB(controller.getPageSize());
if (dataSetForMapDB == null) {
log.error(DefaultMessagesImpl.getString("DrillDownResultEditor.drillDownError"), new RuntimeException(DefaultMessagesImpl.getString("DrillDownResultEditor.drillDownErrorMessage")));
} else {
table.setData(dataSetForMapDB);
}
// for columnSet analysis here only have one db file need to support drill down and data section
Analysis analysis = ddEditorInput.getAnalysis();
AnalysisType analysisType = analysis.getParameters().getAnalysisType();
IPageLoader<PageResult<Object[]>> pageLoader = null;
AbstractDB<Object> mapDB = ddEditorInput.getMapDB();
Indicator generateMapDBIndicator = ddEditorInput.getGenerateMapDBIndicator();
MapDBManager.getInstance().addDBRef(MapDBUtils.getMapDBFile(generateMapDBIndicator));
Long itemsSize = ddEditorInput.getItemSize(mapDB);
if (AnalysisType.COLUMN_SET == analysisType) {
pageLoader = new MapDBPageLoader<Object>(mapDB, IDataValidationFactory.INSTANCE.createValidation(ddEditorInput.getCurrIndicator()), itemsSize);
} else {
// ~
ColumnFilter filter = ddEditorInput.getColumnFilter();
pageLoader = new MapDBPageLoader<Object>(mapDB, null, itemsSize, filter);
}
controller.addPageChangedListener(PageLoaderStrategyHelper.createLoadPageAndReplaceItemsListener(controller, tableView, pageLoader, PageResultContentProvider.getInstance(), null));
controller.addPageChangedListener(new PageChangedAdapter() {
/*
* (non-Javadoc)
*
* @see org.eclipse.nebula.widgets.pagination.PageChangedAdapter#pageIndexChanged(int, int,
* org.eclipse.nebula.widgets.pagination.PageableController)
*/
@Override
public void pageIndexChanged(int oldPageIndex, int newPageIndex, PageableController controller) {
Object data = table.getData();
if (data != null && SqlExplorerUtils.getDefault().isInstanceofTalendDataSet(data)) {
long totalSize = controller.getTotalElements();
long pageSize = controller.getPageSize();
long pageIndex = controller.getPageOffset();
long fromIndex = pageIndex;
long toIndex = pageIndex + pageSize;
if (toIndex > totalSize) {
toIndex = totalSize;
}
SqlExplorerUtils.getDefault().resetTalendDataSetIndex(data, fromIndex, toIndex);
parent.layout();
}
}
});
// Create navigation page links
ResultAndNavigationPageGraphicsRenderer resultAndNavigationPageGraphicsRenderer = new ResultAndNavigationPageGraphicsRenderer(parent, SWT.NONE, controller);
resultAndNavigationPageGraphicsRenderer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
createColumns(tableView, controller, ((DrillDownEditorInput) this.getEditorInput()));
// Set current page to 0 to refresh the table
controller.setCurrentPage(0);
}
Aggregations