private void createLabel(Composite c, int span, String content, Image image, LabelAttributes la) { if (content == null && image == null) return; Label l = new Label(c, la.getFontStyle()); GridData gd = new GridData(); gd.verticalSpan = span; gd.horizontalIndent = 5; if (content != null) l.setText(content); if (image != null) l.setImage(image); if (la.getForegroundColor() != null) l.setForeground(new Color(DisplayManager.getDefaultDisplay(), la.getForegroundColor())); Font initialFont = l.getFont(); FontData[] fontData = initialFont.getFontData(); for (int i = 0; i < fontData.length; i++) { fontData[i].setHeight(la.getFontSize()); fontData[i].setStyle(la.getFontStyle()); } Font newFont = new Font(DisplayManager.getDefaultDisplay(), fontData[0]); l.setFont(newFont); l.pack(); l.setBackground(c.getBackground()); l.setLayoutData(gd); }
private void createImage() { if (image != null) { Label label = new Label(shell, SWT.CENTER); GridData data = new GridData(SWT.CENTER, SWT.TOP, false, false); data.widthHint = image.getBounds().width + SPACING; label.setLayoutData(data); label.setImage(image); } }
@Override protected Control createDialogArea(Composite parent) { Color background = JFaceColors.getBannerBackground(parent.getDisplay()); // Color foreground = JFaceColors.getBannerForeground(parent.getDisplay()); parent.setBackground(background); Composite group = new Composite(parent, SWT.NONE); group.setBackground(background); GridLayout layout = new GridLayout(1, false); layout.marginHeight = 20; layout.marginWidth = 20; group.setLayout(layout); GridData gd; IProduct product = Platform.getProduct(); String productVersion = DBeaverCore.getVersion().toString(); Label titleLabel = new Label(group, SWT.NONE); titleLabel.setBackground(background); titleLabel.setFont(TITLE_FONT); titleLabel.setText(product.getProperty(PRODUCT_PROP_SUB_TITLE)); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.CENTER; titleLabel.setLayoutData(gd); titleLabel.addMouseListener( new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { BusyIndicator.showWhile( getShell().getDisplay(), new Runnable() { @Override public void run() { // Do not create InstallationDialog directly // but execute "org.eclipse.ui.help.installationDialog" command IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IHandlerService service = workbenchWindow.getService(IHandlerService.class); if (service != null) { try { service.executeCommand( "org.eclipse.ui.help.installationDialog", null); // $NON-NLS-1$ } catch (Exception e1) { // just ignore error } } } }); } }); Label imageLabel = new Label(group, SWT.NONE); imageLabel.setBackground(background); gd = new GridData(); gd.verticalAlignment = GridData.BEGINNING; gd.horizontalAlignment = GridData.CENTER; gd.grabExcessHorizontalSpace = true; imageLabel.setLayoutData(gd); imageLabel.setImage(ABOUT_IMAGE); Label versionLabel = new Label(group, SWT.NONE); versionLabel.setBackground(background); versionLabel.setText(CoreMessages.dialog_about_label_version + productVersion); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.CENTER; versionLabel.setLayoutData(gd); Label authorLabel = new Label(group, SWT.NONE); authorLabel.setBackground(background); authorLabel.setText(product.getProperty(PRODUCT_PROP_COPYRIGHT)); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalAlignment = GridData.CENTER; authorLabel.setLayoutData(gd); Link siteLink = UIUtils.createLink( group, UIUtils.makeAnchor(product.getProperty(PRODUCT_PROP_WEBSITE)), new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { UIUtils.launchProgram(e.text); } }); siteLink.setBackground(background); gd = new GridData(); gd.horizontalAlignment = GridData.CENTER; siteLink.setLayoutData(gd); Link emailLink = UIUtils.createLink( group, UIUtils.makeAnchor(product.getProperty(PRODUCT_PROP_EMAIL)), new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { UIUtils.launchProgram("mailto:" + e.text); // $NON-NLS-1$ } }); emailLink.setBackground(background); gd = new GridData(); gd.horizontalAlignment = GridData.CENTER; emailLink.setLayoutData(gd); return parent; }
public static Label createImageLabel(Composite parent, DBPImage image) { Label imageLabel = new Label(parent, SWT.NONE); imageLabel.setImage(DBeaverIcons.getImage(image)); return imageLabel; }
public static void main(String[] args) { Shell shell = new Shell(); Display display = shell.getDisplay(); shell.setLayout(new FillLayout()); shell.setText("ExpandBar Example"); Menu menubar = new Menu(shell, SWT.BAR); shell.setMenuBar(menubar); MenuItem fileItem = new MenuItem(menubar, SWT.CASCADE); fileItem.setText("&File"); Menu submenu = new Menu(shell, SWT.DROP_DOWN); fileItem.setMenu(submenu); item = new MenuItem(submenu, SWT.PUSH); item.setText("New ExpandItem"); bar = new ExpandBar(shell, SWT.V_SCROLL); image = display.getSystemImage(SWT.ICON_QUESTION); // First item Composite composite = new Composite(bar, SWT.NONE); Menu popupmenu = new Menu(shell, SWT.POP_UP); MenuItem popupItem = new MenuItem(popupmenu, SWT.PUSH); popupItem.setText("Popup"); composite.setMenu(popupmenu); GridLayout layout = new GridLayout(2, false); layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10; layout.verticalSpacing = 10; composite.setLayout(layout); Label label = new Label(composite, SWT.NONE); label.setImage(display.getSystemImage(SWT.ICON_ERROR)); label = new Label(composite, SWT.NONE); label.setText("SWT.ICON_ERROR"); label = new Label(composite, SWT.NONE); label.setImage(display.getSystemImage(SWT.ICON_INFORMATION)); label = new Label(composite, SWT.NONE); label.setText("SWT.ICON_INFORMATION"); label = new Label(composite, SWT.NONE); label.setImage(display.getSystemImage(SWT.ICON_WARNING)); label = new Label(composite, SWT.NONE); label.setText("SWT.ICON_WARNING"); label = new Label(composite, SWT.NONE); label.setImage(display.getSystemImage(SWT.ICON_QUESTION)); label = new Label(composite, SWT.NONE); label.setText("SWT.ICON_QUESTION"); ExpandItem item1 = new ExpandItem(bar, SWT.NONE); item1.setText("What is your favorite icon"); item1.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y); item1.setControl(composite); item1.setImage(image); // Second item composite = new Composite(bar, SWT.NONE); layout = new GridLayout(2, true); layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 10; layout.verticalSpacing = 10; composite.setLayout(layout); Button button1 = new Button(composite, SWT.PUSH); button1.setText("Button 1"); Button button2 = new Button(composite, SWT.PUSH); button2.setText("Button 2"); ExpandItem item0 = new ExpandItem(bar, SWT.NONE); item0.setText("What is your favorite button"); item0.setHeight(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT).y); item0.setControl(composite); item0.setImage(image); item0.setExpanded(false); item.addListener( SWT.Selection, new Listener() { @Override public void handleEvent(Event e) { ExpandItem item2 = new ExpandItem(bar, SWT.NONE); Composite composite = new Composite(bar, SWT.NONE); GridLayout layout = new GridLayout(2, false); composite.setLayout(layout); Label label = new Label(composite, SWT.NONE); label.setText("What is your name?"); Composite pcomposite = new Composite(composite, SWT.NONE); Text text = new Text(pcomposite, SWT.NONE); item2.setText("New Question"); text.pack(); composite.pack(); Point size = composite.computeSize(SWT.DEFAULT, SWT.DEFAULT); item2.setHeight(size.y); item2.setControl(composite); item2.setImage(image); item2.setExpanded(true); } }); bar.setSpacing(8); shell.setSize(400, 550); shell.open(); System.out.println("------------------------------"); System.out.println("getSize: " + button1.getSize()); System.out.println("getBounds: " + button1.getBounds()); System.out.println("computeSize: " + button1.computeSize(SWT.DEFAULT, SWT.DEFAULT)); System.out.println("getLocation: " + button1.getLocation()); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } image.dispose(); display.dispose(); }