List of usage examples for org.eclipse.jface.dialogs IDialogPage createControl
void createControl(Composite parent);
From source file:org.jkiss.dbeaver.ui.dialogs.connection.ConnectionPageSettings.java
License:Open Source License
private void createProviderPage(Composite parent) { if (this.connectionEditor != null) { return;/*from www.j a v a 2 s. co m*/ } if (getControl() != null) { getControl().dispose(); } try { this.connectionEditor = viewDescriptor.createView(IDataSourceConnectionEditor.class); this.connectionEditor.setSite(this); // init sub pages (if any) getSubPages(); if (wizard.isNew() && !ArrayUtils.isEmpty(subPages)) { // Create tab folder List<IDialogPage> allPages = new ArrayList<>(); allPages.add(connectionEditor); Collections.addAll(allPages, subPages); TabFolder tabFolder = new TabFolder(parent, SWT.TOP); tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); for (IDialogPage page : allPages) { TabItem item = new TabItem(tabFolder, SWT.NONE); page.createControl(tabFolder); Control pageControl = page.getControl(); item.setControl(pageControl); item.setText(CommonUtils.isEmpty(page.getTitle()) ? "General" : page.getTitle()); item.setToolTipText(page.getDescription()); } tabFolder.setSelection(0); setControl(tabFolder); } else { // Create single editor control this.connectionEditor.createControl(parent); setControl(this.connectionEditor.getControl()); } UIUtils.setHelp(getControl(), IHelpContextIds.CTX_CON_WIZARD_SETTINGS); } catch (Exception ex) { log.warn(ex); setErrorMessage("Can't create settings dialog: " + ex.getMessage()); } parent.layout(); }
From source file:org.jkiss.dbeaver.ui.dialogs.MultiPageWizardDialog.java
License:Open Source License
private TreeItem addPage(TreeItem parentItem, IDialogPage page, Point maxSize) { boolean hasPages = pagesTree.getItemCount() != 0; page.createControl(pageArea); Control control = page.getControl(); Point pageSize = control.computeSize(SWT.DEFAULT, SWT.DEFAULT); if (pageSize.x > maxSize.x) maxSize.x = pageSize.x;/*from www . j a v a2 s. c o m*/ if (pageSize.y > maxSize.y) maxSize.y = pageSize.y; GridData gd = (GridData) control.getLayoutData(); if (gd == null) { gd = new GridData(GridData.FILL_BOTH); control.setLayoutData(gd); } gd.exclude = hasPages; control.setVisible(!gd.exclude); TreeItem item = parentItem == null ? new TreeItem(pagesTree, SWT.NONE) : new TreeItem(parentItem, SWT.NONE); item.setText(page.getTitle()); item.setData(page); // Ad sub pages if (page instanceof ICompositeDialogPage) { IDialogPage[] subPages = ((ICompositeDialogPage) page).getSubPages(); if (!ArrayUtils.isEmpty(subPages)) { for (IDialogPage subPage : subPages) { addPage(item, subPage, maxSize); } item.setExpanded(true); } } return item; }