/** * Creates the Quartz controls. * * @param parent the parent * @param editorStyle true to use the editor style, false for wizards */ public void createControls(final Composite parent, boolean editorStyle) { Label l = SwtFactory.createLabel( parent, Messages.cronExpression, "A CRON expression to schedule service invocations"); if (editorStyle) l.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE)); this.cronText = SwtFactory.createSimpleTextField(parent, true); Link cronLink = new Link(parent, SWT.NONE); cronLink.setText("<A>" + Messages.cronHelp + "</A>"); cronLink.setLayoutData(new GridData(SWT.RIGHT, SWT.DEFAULT, true, false, 2, 1)); cronLink.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { final IWebBrowser browser = PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser(); browser.openURL( new URL( "http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger")); } catch (Exception ex) { PetalsQuartzPlugin.log(ex, IStatus.ERROR); new ErrorDialog( parent.getShell(), Messages.couldNotOpenEditorTitle, Messages.couldNotOpenEditorMessage, new Status(IStatus.ERROR, PetalsQuartzPlugin.PLUGIN_ID, ex.getMessage()), 0) .open(); } } }); // The message skeleton l = SwtFactory.createLabel( parent, Messages.content, "A XML message to send to the target service"); GridDataFactory.swtDefaults().indent(0, 5).span(2, 1).applyTo(l); if (editorStyle) l.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE)); this.msgText = SwtFactory.createXmlTextViewer(parent); GridDataFactory.swtDefaults() .align(SWT.FILL, SWT.FILL) .grab(true, true) .span(2, 1) .applyTo(this.msgText.getParent()); }
/** * Creates the section for the properties of a service unit. * * @param parent the parent * @return a new section */ private Composite createSuSection(Composite parent) { // Container FormToolkit toolkit = this.ise.getFormToolkit(); Composite container = toolkit.createComposite(parent); GridLayout layout = new GridLayout(); layout.marginHeight = 0; layout.marginTop = 11; layout.marginLeft = 3; container.setLayout(layout); container.setLayoutData(new GridData(GridData.FILL_BOTH)); Section section = toolkit.createSection( container, Section.DESCRIPTION | ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED); section.setLayoutData(new GridData(GridData.FILL_BOTH)); section.clientVerticalSpacing = 10; section.setText("Service Unit's Properties"); section.setDescription("Edit the properties of the selected service unit."); container = toolkit.createComposite(section, SWT.NONE); layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; layout.horizontalSpacing = 10; container.setLayout(layout); container.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB)); section.setClient(container); // Texts final ServiceUnit su = (ServiceUnit) this.viewerSelection; Label label = SwtFactory.createLabel(container, "Name:", "The name of the service assembly"); label.setForeground(this.blueFont); this.suNameText = toolkit.createText(container, "", SWT.SINGLE | SWT.BORDER); this.suNameText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); this.suNameText.addModifyListener( new ModifyListener() { @Override public void modifyText(ModifyEvent e) { SaEditionComposite.this.viewer.refresh(su, true); } }); this.ise .getDataBindingContext() .bindValue( SWTObservables.observeText(this.suNameText), EMFEditObservables.observeValue( this.ise.getEditingDomain(), su.getIdentification(), JbiPackage.Literals.IDENTIFICATION__NAME)); label = SwtFactory.createLabel( container, "Description:", "The description of the service assembly"); label.setForeground(this.blueFont); label.setLayoutData(new GridData(SWT.DEFAULT, SWT.TOP, false, false)); this.suDescText = toolkit.createText(container, "", SWT.MULTI | SWT.BORDER); GridData layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); layoutData.heightHint = 60; this.suDescText.setLayoutData(layoutData); this.ise .getDataBindingContext() .bindValue( SWTObservables.observeText(this.suDescText), EMFEditObservables.observeValue( this.ise.getEditingDomain(), su.getIdentification(), JbiPackage.Literals.IDENTIFICATION__DESCRIPTION)); label = SwtFactory.createLabel(container, "Zip Artifact:", "The name of the *.zip artifact"); label.setForeground(this.blueFont); this.suArtifactsText = toolkit.createText(container, "", SWT.SINGLE | SWT.BORDER); this.suArtifactsText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); this.ise .getDataBindingContext() .bindValue( SWTObservables.observeText(this.suArtifactsText), EMFEditObservables.observeValue( this.ise.getEditingDomain(), su.getTarget(), JbiPackage.Literals.TARGET__ARTIFACTS_ZIP)); label = SwtFactory.createLabel(container, "Component name:", "The name of the target component"); label.setForeground(this.blueFont); this.suComponentText = toolkit.createText(container, "", SWT.SINGLE | SWT.BORDER); this.suComponentText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); this.ise .getDataBindingContext() .bindValue( SWTObservables.observeText(this.suComponentText), EMFEditObservables.observeValue( this.ise.getEditingDomain(), su.getTarget(), JbiPackage.Literals.TARGET__COMPONENT_NAME)); return section.getParent(); }