PageSelectorItem(final WizardPageInfo pageInfo, ClickHandler clickHandler) { WizardResources res = WizardResources.INSTANCE; WizardResources.Styles styles = res.styles(); LayoutPanel layoutPanel = new LayoutPanel(); layoutPanel.addStyleName(styles.wizardPageSelectorItem()); ImageResource pageImageResource = pageInfo.getImage(); Image image = null; if (pageImageResource != null) { image = new Image(pageImageResource); layoutPanel.add(image); layoutPanel.setWidgetLeftWidth(image, 10, Unit.PX, image.getWidth(), Unit.PX); layoutPanel.setWidgetTopHeight( image, 40 - (image.getHeight() / 2), Unit.PX, image.getHeight(), Unit.PX); } FlowPanel captionPanel = new FlowPanel(); Label titleLabel = new Label(pageInfo.getTitle()); titleLabel.addStyleName(styles.headerLabel()); captionPanel.add(titleLabel); Label subTitleLabel = new Label(pageInfo.getSubTitle()); subTitleLabel.addStyleName(styles.subcaptionLabel()); captionPanel.add(subTitleLabel); layoutPanel.add(captionPanel); layoutPanel.setWidgetLeftWidth( captionPanel, 10 + (image == null ? 0 : image.getWidth()) + 12, Unit.PX, 450, Unit.PX); layoutPanel.setWidgetTopHeight(captionPanel, 19, Unit.PX, 55, Unit.PX); Image arrowImage = new Image(res.wizardDisclosureArrow()); layoutPanel.add(arrowImage); layoutPanel.setWidgetRightWidth(arrowImage, 20, Unit.PX, arrowImage.getWidth(), Unit.PX); layoutPanel.setWidgetTopHeight( arrowImage, 40 - (arrowImage.getHeight() / 2), Unit.PX, arrowImage.getHeight(), Unit.PX); layoutPanel.addDomHandler(clickHandler, ClickEvent.getType()); initWidget(layoutPanel); }