List of usage examples for org.eclipse.jface.fieldassist ControlDecoration setShowHover
public void setShowHover(boolean showHover)
From source file:bndtools.editor.components.ComponentDetailsPage.java
License:Open Source License
void fillMainSection(FormToolkit toolkit, Section section) { FieldDecoration contentProposalDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); ControlDecoration decor; Composite composite = toolkit.createComposite(section); section.setClient(composite);/*from w ww .j a va 2 s . c o m*/ Hyperlink lnkName = toolkit.createHyperlink(composite, "Name:", SWT.NONE); txtName = toolkit.createText(composite, "", SWT.BORDER); decor = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, composite); decor.setImage(contentProposalDecoration.getImage()); decor.setDescriptionText("Content assist available"); // TODO: keystrokes decor.setShowHover(true); decor.setShowOnlyOnFocus(true); KeyStroke assistKeyStroke = null; try { assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } ComponentNameProposalProvider proposalProvider = new ComponentNameProposalProvider( new FormPartJavaSearchContext(this)); ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(txtName, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); proposalAdapter.addContentProposalListener(proposalProvider); proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); proposalAdapter.setAutoActivationDelay(1500); proposalAdapter.setLabelProvider(ComponentNameProposalProvider.createLabelProvider()); toolkit.createLabel(composite, ""); // Spacer btnEnabled = toolkit.createButton(composite, "Enabled", SWT.CHECK); // Listeners lnkName.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent e) { listPart.doOpenComponent(selected.getName()); } }); txtName.addListener(SWT.Modify, new Listener() { public void handleEvent(Event event) { if (refreshers.get() == 0) { String oldName = selected.getName(); String newName = txtName.getText(); selected.setName(newName); listPart.updateLabel(oldName, newName); markDirty(PROP_COMPONENT_NAME); updateVisibility(); } } }); btnEnabled.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_ENABLED)); // Layout GridData gd; composite.setLayout(new GridLayout(2, false)); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtName.setLayoutData(gd); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtName.setLayoutData(gd); }
From source file:bndtools.editor.components.ComponentDetailsPage.java
License:Open Source License
void fillLifecycleSection(FormToolkit toolkit, Section section) { FieldDecoration infoDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION); ControlDecoration decor; Composite composite = toolkit.createComposite(section); section.setClient(composite);//from www . ja v a 2s . c om // Create controls toolkit.createLabel(composite, "Activate method:"); txtActivate = toolkit.createText(composite, "", SWT.BORDER); toolkit.createLabel(composite, "Deactivate method:"); txtDeactivate = toolkit.createText(composite, "", SWT.BORDER); toolkit.createLabel(composite, "Modified method:"); txtModified = toolkit.createText(composite, "", SWT.BORDER); toolkit.createLabel(composite, ""); // Spacer btnImmediate = toolkit.createButton(composite, "Immediate", SWT.CHECK); decor = new ControlDecoration(btnImmediate, SWT.RIGHT, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText("The component will be activated immediately,\n" + "even when it provides a service and no consumers\n" + "of the service exist."); decor.setShowHover(true); toolkit.createLabel(composite, ""); // Spacer btnSvcFactory = toolkit.createButton(composite, "Service Factory", SWT.CHECK); decor = new ControlDecoration(btnSvcFactory, SWT.RIGHT, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText("An instance of the component will be created\nfor each service consumer."); decor.setShowHover(true); toolkit.createLabel(composite, "Factory ID:"); txtFactoryId = toolkit.createText(composite, "", SWT.BORDER); decor = new ControlDecoration(txtFactoryId, SWT.LEFT | SWT.BOTTOM, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText( "Makes the component a 'factory component', published\nunder the ComponentFactory service, with the specified ID."); // Listeners txtActivate.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_ACTIVATE)); txtDeactivate.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_DEACTIVATE)); txtModified.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_MODIFIED)); txtFactoryId.addListener(SWT.Modify, new MarkDirtyListener(ServiceComponent.COMPONENT_FACTORY)); btnImmediate.addListener(SWT.Selection, new MarkDirtyListener(ServiceComponent.COMPONENT_IMMEDIATE)); btnSvcFactory.addListener(SWT.Selection, new MarkDirtyListener(ServiceComponent.COMPONENT_SERVICEFACTORY)); // Layout composite.setLayout(new GridLayout(2, false)); GridData gd; gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtActivate.setLayoutData(gd); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtDeactivate.setLayoutData(gd); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtModified.setLayoutData(gd); gd = new GridData(GridData.FILL_HORIZONTAL); gd.horizontalIndent = 5; txtFactoryId.setLayoutData(gd); }
From source file:bndtools.editor.components.ComponentDetailsPage.java
License:Open Source License
void fillConfigPolicySection(FormToolkit toolkit, Section section) { FieldDecoration infoDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION); ControlDecoration decor; Composite composite = toolkit.createComposite(section); section.setClient(composite);/* w w w .jav a2s .c om*/ btnConfigPolicyOptional = toolkit.createButton(composite, "Optional", SWT.RADIO); decor = new ControlDecoration(btnConfigPolicyOptional, SWT.RIGHT, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText( "The component will be activated whether or not\nmatching configuration data is available."); decor.setShowHover(true); btnConfigPolicyRequire = toolkit.createButton(composite, "Require", SWT.RADIO); decor = new ControlDecoration(btnConfigPolicyRequire, SWT.RIGHT, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText( "The component will be activated ONLY if matching\nconfiguration data is available."); decor.setShowHover(true); btnConfigPolicyIgnore = toolkit.createButton(composite, "Ignore", SWT.RADIO); decor = new ControlDecoration(btnConfigPolicyIgnore, SWT.RIGHT, composite); decor.setImage(infoDecoration.getImage()); decor.setDescriptionText("The component will not receive configuration\ndata from Configuration Admin."); decor.setShowHover(true); // Listeners MarkDirtyListener configPolicyDirtyListener = new MarkDirtyListener( ServiceComponent.COMPONENT_CONFIGURATION_POLICY); btnConfigPolicyOptional.addListener(SWT.Selection, configPolicyDirtyListener); btnConfigPolicyRequire.addListener(SWT.Selection, configPolicyDirtyListener); btnConfigPolicyIgnore.addListener(SWT.Selection, configPolicyDirtyListener); // Layout GridLayout layout = new GridLayout(3, false); layout.horizontalSpacing = 15; composite.setLayout(layout); }
From source file:bndtools.editor.components.ComponentSvcRefWizardPage.java
License:Open Source License
public void createControl(Composite parent) { setTitle("Edit Service Reference"); KeyStroke assistKeyStroke = null; try {/*from w w w . j av a2 s.c o m*/ assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } FieldDecoration assistDecor = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); Composite composite = new Composite(parent, SWT.NONE); new Label(composite, SWT.NONE).setText("Name:"); txtName = new Text(composite, SWT.BORDER); new Label(composite, SWT.NONE).setText("Interface:"); txtInterface = new Text(composite, SWT.BORDER); ControlDecoration decorInterface = new ControlDecoration(txtInterface, SWT.LEFT | SWT.TOP, composite); decorInterface.setImage(assistDecor.getImage()); decorInterface.setDescriptionText("Content assist available"); decorInterface.setShowHover(true); decorInterface.setShowOnlyOnFocus(true); // Add content proposal to svc interface field SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext); ContentProposalAdapter interfaceProposalAdapter = new ContentProposalAdapter(txtInterface, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); interfaceProposalAdapter.addContentProposalListener(proposalProvider); interfaceProposalAdapter.setAutoActivationDelay(1500); interfaceProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); interfaceProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); new Label(composite, SWT.NONE).setText("Bind:"); txtBind = new Text(composite, SWT.BORDER); ControlDecoration decorBind = new ControlDecoration(txtBind, SWT.LEFT | SWT.TOP, composite); decorBind.setImage(assistDecor.getImage()); decorBind.setDescriptionText("Content assist available"); decorBind.setShowHover(true); decorBind.setShowOnlyOnFocus(true); MethodProposalProvider bindProposalProvider = new MethodProposalProvider(searchContext); ContentProposalAdapter bindProposalAdapter = new ContentProposalAdapter(txtBind, new TextContentAdapter(), bindProposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); bindProposalAdapter.addContentProposalListener(bindProposalProvider); bindProposalAdapter.setAutoActivationDelay(1500); bindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); bindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider()); new Label(composite, SWT.NONE).setText("Unbind:"); txtUnbind = new Text(composite, SWT.BORDER); ControlDecoration decorUnbind = new ControlDecoration(txtUnbind, SWT.LEFT | SWT.TOP, composite); decorUnbind.setImage(assistDecor.getImage()); decorUnbind.setDescriptionText("Content assist available"); decorUnbind.setShowHover(true); decorUnbind.setShowOnlyOnFocus(true); ContentProposalAdapter unbindProposalAdapter = new ContentProposalAdapter(txtUnbind, new TextContentAdapter(), bindProposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); unbindProposalAdapter.addContentProposalListener(bindProposalProvider); unbindProposalAdapter.setAutoActivationDelay(1500); unbindProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); unbindProposalAdapter.setLabelProvider(new MethodProposalLabelProvider()); new Label(composite, SWT.NONE); // Spacer Composite pnlButtons = new Composite(composite, SWT.NONE); btnOptional = new Button(pnlButtons, SWT.CHECK); btnOptional.setText("Optional"); btnMultiple = new Button(pnlButtons, SWT.CHECK); btnMultiple.setText("Multiple"); btnDynamic = new Button(pnlButtons, SWT.CHECK); btnDynamic.setText("Dynamic"); new Label(composite, SWT.NONE).setText("Target Filter:"); txtTargetFilter = new Text(composite, SWT.BORDER); // Initialise initialiseFields(); validate(); // Listeners ModifyListener nameAndInterfaceModifyListener = new ModifyListener() { public void modifyText(ModifyEvent e) { String name = emptyToNull(txtName.getText()); String clazz = emptyToNull(txtInterface.getText()); if (name == null) name = clazz; serviceReference.setName(name); serviceReference.setServiceClass(clazz); validate(); } }; txtName.addModifyListener(nameAndInterfaceModifyListener); txtInterface.addModifyListener(nameAndInterfaceModifyListener); txtBind.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setBind(emptyToNull(txtBind.getText())); validate(); } }); txtUnbind.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setUnbind(emptyToNull(txtUnbind.getText())); validate(); } }); btnOptional.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setOptional(btnOptional.getSelection()); validate(); } }); btnMultiple.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setMultiple(btnMultiple.getSelection()); validate(); } }); btnDynamic.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { serviceReference.setDynamic(btnDynamic.getSelection()); validate(); } }); txtTargetFilter.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { serviceReference.setTargetFilter(emptyToNull(txtTargetFilter.getText())); } }); // Layout GridLayout layout; layout = new GridLayout(4, false); composite.setLayout(layout); txtName.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); txtInterface.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); txtBind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); txtUnbind.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); txtTargetFilter.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); pnlButtons.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false, 3, 1)); layout = new GridLayout(1, true); // layout.horizontalSpacing = 0; // layout.verticalSpacing = 0; // layout.marginHeight = 0; // layout.marginWidth = 0; pnlButtons.setLayout(layout); setControl(composite); }
From source file:bndtools.editor.components.SvcInterfaceSelectionDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Control dialogArea = super.createDialogArea(parent); FieldDecoration proposalDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); KeyStroke assistKeyStroke = null; try {//from w w w.j ava2 s . c o m assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } Text textField = getText(); ControlDecoration decor = new ControlDecoration(textField, SWT.LEFT | SWT.TOP); decor.setImage(proposalDecoration.getImage()); decor.setDescriptionText(MessageFormat.format( "Content Assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); decor.setShowHover(true); decor.setShowOnlyOnFocus(true); SvcInterfaceProposalProvider proposalProvider = new SvcInterfaceProposalProvider(searchContext); ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(textField, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); proposalAdapter.addContentProposalListener(proposalProvider); proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); proposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); proposalAdapter.setAutoActivationDelay(1500); return dialogArea; }
From source file:bndtools.editor.contents.GeneralInfoPart.java
License:Open Source License
private void createSection(Section section, FormToolkit toolkit) { section.setText("Basic Information"); KeyStroke assistKeyStroke = null; try {// w ww .ja v a2 s . c o m assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } FieldDecoration contentAssistDecoration = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); Composite composite = toolkit.createComposite(section); section.setClient(composite); toolkit.createLabel(composite, "Version:"); txtVersion = toolkit.createText(composite, "", SWT.BORDER); ToolTips.setupMessageAndToolTipFromSyntax(txtVersion, Constants.BUNDLE_VERSION); Hyperlink linkActivator = toolkit.createHyperlink(composite, "Activator:", SWT.NONE); txtActivator = toolkit.createText(composite, "", SWT.BORDER); ToolTips.setupMessageAndToolTipFromSyntax(txtActivator, Constants.BUNDLE_ACTIVATOR); toolkit.createLabel(composite, "Declarative Services:"); cmbComponents = new Combo(composite, SWT.READ_ONLY); // Content Proposal for the Activator field ContentProposalAdapter activatorProposalAdapter = null; ActivatorClassProposalProvider proposalProvider = new ActivatorClassProposalProvider(); activatorProposalAdapter = new ContentProposalAdapter(txtActivator, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); activatorProposalAdapter.addContentProposalListener(proposalProvider); activatorProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE); activatorProposalAdapter.setLabelProvider(new JavaContentProposalLabelProvider()); activatorProposalAdapter.setAutoActivationDelay(1000); // Decorator for the Activator field ControlDecoration decorActivator = new ControlDecoration(txtActivator, SWT.LEFT | SWT.CENTER, composite); decorActivator.setImage(contentAssistDecoration.getImage()); decorActivator.setMarginWidth(3); if (assistKeyStroke == null) { decorActivator.setDescriptionText("Content Assist is available. Start typing to activate"); } else { decorActivator.setDescriptionText( MessageFormat.format("Content Assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); } decorActivator.setShowOnlyOnFocus(true); decorActivator.setShowHover(true); // Decorator for the Components combo ControlDecoration decorComponents = new ControlDecoration(cmbComponents, SWT.LEFT | SWT.CENTER, composite); decorComponents.setImage(FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_INFORMATION).getImage()); decorComponents.setMarginWidth(3); decorComponents.setDescriptionText("Use Java annotations to detect Declarative Service Components."); decorComponents.setShowOnlyOnFocus(false); decorComponents.setShowHover(true); // Listeners txtVersion.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { lock.ifNotModifying(new Runnable() { @Override public void run() { addDirtyProperty(Constants.BUNDLE_VERSION); } }); } }); cmbComponents.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { lock.ifNotModifying(new Runnable() { @Override public void run() { ComponentChoice old = componentChoice; int index = cmbComponents.getSelectionIndex(); if (index >= 0 && index < ComponentChoice.values().length) { componentChoice = ComponentChoice.values()[cmbComponents.getSelectionIndex()]; if (old != componentChoice) { addDirtyProperty(aQute.bnd.osgi.Constants.SERVICE_COMPONENT); addDirtyProperty(aQute.bnd.osgi.Constants.DSANNOTATIONS); if (old == null) { cmbComponents.remove(ComponentChoice.values().length); } } } } }); } }); txtActivator.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent ev) { lock.ifNotModifying(new Runnable() { @Override public void run() { addDirtyProperty(Constants.BUNDLE_ACTIVATOR); } }); } }); linkActivator.addHyperlinkListener(new HyperlinkAdapter() { @Override public void linkActivated(HyperlinkEvent ev) { String activatorClassName = txtActivator.getText(); if (activatorClassName != null && activatorClassName.length() > 0) { try { IJavaProject javaProject = getJavaProject(); if (javaProject == null) return; IType activatorType = javaProject.findType(activatorClassName); if (activatorType != null) { JavaUI.openInEditor(activatorType, true, true); } } catch (PartInitException e) { ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format("Error opening an editor for activator class '{0}'.", activatorClassName), e)); } catch (JavaModelException e) { ErrorDialog.openError(getManagedForm().getForm().getShell(), "Error", null, new Status(IStatus.ERROR, Plugin.PLUGIN_ID, 0, MessageFormat.format( "Error searching for activator class '{0}'.", activatorClassName), e)); } } } }); activatorProposalAdapter.addContentProposalListener(new IContentProposalListener() { @Override public void proposalAccepted(IContentProposal proposal) { if (proposal instanceof JavaContentProposal) { String selectedPackageName = ((JavaContentProposal) proposal).getPackageName(); if (!model.isIncludedPackage(selectedPackageName)) { model.addPrivatePackage(selectedPackageName); } } } }); // Layout GridLayout layout = new GridLayout(2, false); layout.horizontalSpacing = 15; composite.setLayout(layout); GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false); txtVersion.setLayoutData(gd); txtActivator.setLayoutData(gd); cmbComponents.setLayoutData(gd); }
From source file:bndtools.editor.pkgpatterns.PkgPatternsDetailsPage.java
License:Open Source License
public void createContents(Composite parent) { FormToolkit toolkit = getManagedForm().getToolkit(); FieldDecoration assistDecor = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_CONTENT_PROPOSAL); KeyStroke assistKeyStroke = null; try {//from ww w . jav a2 s. c om assistKeyStroke = KeyStroke.getInstance("Ctrl+Space"); } catch (ParseException x) { // Ignore } Section mainSection = toolkit.createSection(parent, Section.TITLE_BAR); mainSection.setText(title); mainComposite = toolkit.createComposite(mainSection); mainSection.setClient(mainComposite); toolkit.createLabel(mainComposite, "Pattern:"); txtName = toolkit.createText(mainComposite, "", SWT.BORDER); ControlDecoration decPattern = new ControlDecoration(txtName, SWT.LEFT | SWT.TOP, mainComposite); decPattern.setImage(assistDecor.getImage()); decPattern.setDescriptionText(MessageFormat.format( "Content assist is available. Press {0} or start typing to activate", assistKeyStroke.format())); decPattern.setShowHover(true); decPattern.setShowOnlyOnFocus(true); PkgPatternsProposalProvider proposalProvider = new PkgPatternsProposalProvider( new FormPartJavaSearchContext(this)); ContentProposalAdapter patternProposalAdapter = new ContentProposalAdapter(txtName, new TextContentAdapter(), proposalProvider, assistKeyStroke, UIConstants.autoActivationCharacters()); patternProposalAdapter.addContentProposalListener(proposalProvider); patternProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_IGNORE); patternProposalAdapter.setAutoActivationDelay(1000); patternProposalAdapter.setLabelProvider(new PkgPatternProposalLabelProvider()); patternProposalAdapter.addContentProposalListener(new IContentProposalListener() { public void proposalAccepted(IContentProposal proposal) { PkgPatternProposal patternProposal = (PkgPatternProposal) proposal; String toInsert = patternProposal.getContent(); int currentPos = txtName.getCaretPosition(); txtName.setSelection(patternProposal.getReplaceFromPos(), currentPos); txtName.insert(toInsert); txtName.setSelection(patternProposal.getCursorPosition()); } }); toolkit.createLabel(mainComposite, "Version:"); txtVersion = toolkit.createText(mainComposite, "", SWT.BORDER); /* * Section attribsSection = toolkit.createSection(parent, Section.TITLE_BAR | Section.TWISTIE); * attribsSection.setText("Extra Attributes"); Composite attribsComposite = * toolkit.createComposite(attribsSection); */ // Listeners txtName.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (!modifyLock.isUnderModification()) { if (selectedClauses.size() == 1) { selectedClauses.get(0).setName(txtName.getText()); if (listPart != null) { listPart.updateLabels(selectedClauses); listPart.validate(); } markDirty(); } } } }); txtVersion.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (!modifyLock.isUnderModification()) { String text = txtVersion.getText(); if (text.length() == 0) text = null; for (HeaderClause clause : selectedClauses) { clause.getAttribs().put(Constants.VERSION_ATTRIBUTE, text); } if (listPart != null) { listPart.updateLabels(selectedClauses); listPart.validate(); } markDirty(); } } }); // Layout GridData gd; parent.setLayout(new GridLayout()); mainSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); mainComposite.setLayout(new GridLayout(2, false)); gd = new GridData(SWT.FILL, SWT.TOP, true, false); gd.horizontalIndent = 5; gd.widthHint = 100; txtName.setLayoutData(gd); gd = new GridData(SWT.FILL, SWT.TOP, true, false); gd.horizontalIndent = 5; gd.widthHint = 100; txtVersion.setLayoutData(gd); }
From source file:carisma.ui.eclipse.editors.AdfEditorCheckDetailsPage.java
License:Open Source License
/** * Handles InputFile parameter./*from www . j av a2 s. c o m*/ * * @param comp * the composite for the parameter input elements * @param checkParameter * the checkParamter to handle */ private void handleInputFileParameter(final Composite comp, final CheckParameter checkParameter) { final Text text = this.toolkit.createText(comp, ""); text.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); text.setEditable(false); text.setToolTipText(checkParameter.getDescriptor().getDescription()); Button browse = this.toolkit.createButton(comp, AdfEditorCheckDetailsPage.BROWSE, SWT.PUSH); browse.setToolTipText("Browse for an\ninput file"); browse.setLayoutData(new GridData(SWT.NONE, SWT.TOP, false, false)); final ControlDecoration decoration = new ControlDecoration(text, SWT.LEFT | SWT.TOP); Image contpro = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR) .getImage(); decoration.setImage(contpro); decoration.hide(); // Initially check if the file can be read final String parameterValue; if (((InputFileParameter) checkParameter).getValue() != null) { if (((InputFileParameter) checkParameter).getValue().canRead()) { parameterValue = ((InputFileParameter) checkParameter).getValue().toString(); } else { parameterValue = ""; decoration.show(); decoration.setShowHover(true); decoration.showHoverText("Invalid input file.\nFully qualified path is needed and has to exist."); } } else { parameterValue = ""; } text.setText(parameterValue); // Hide decoration if focus has been lost text.addFocusListener(new FocusListener() { @Override public void focusGained(final FocusEvent e) { } @Override public void focusLost(final FocusEvent e) { decoration.hide(); } }); text.addListener(SWT.Modify, this.masterListener); // Open file dialog browse.addSelectionListener(new SelectionAdapter() { private FileDialog fileDialog = null; @Override public void widgetSelected(final SelectionEvent e) { this.fileDialog = new FileDialog(comp.getShell()); this.fileDialog.setText("Input File Selection"); if (!text.getText().isEmpty()) { this.fileDialog.setFilterPath(text.getText()); } else { this.fileDialog .setFilterPath(ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); } String path = this.fileDialog.open(); if (path != null) { File inputFile = new File(path); if (inputFile.canRead()) { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, inputFile); decoration.hide(); text.setText(inputFile.getPath()); text.update(); AdfEditorCheckDetailsPage.this.controller.setParameterQod(checkParameter, false); AdfEditorCheckDetailsPage.this.qodButtonMap.get(checkParameter).setSelection(false); } else { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, null); decoration.show(); decoration.setShowHover(true); decoration.showHoverText( "Invalid input file.\nFully qualified path is needed and has to exist."); text.setText(""); text.update(); if (!checkParameter.getDescriptor().isOptional()) { AdfEditorCheckDetailsPage.this.controller.setParameterQod(checkParameter, true); AdfEditorCheckDetailsPage.this.qodButtonMap.get(checkParameter).setSelection(true); } } } } }); }
From source file:carisma.ui.eclipse.editors.AdfEditorCheckDetailsPage.java
License:Open Source License
/** * Handles Folder parameter.// w w w .j a v a 2s. c om * * @param comp * the composite for the parameter input elements * @param checkParameter * the checkParamter to handle */ private void handleFolderParameter(final Composite comp, final CheckParameter checkParameter) { final String folderValue; if (((FolderParameter) checkParameter).getValue() != null) { folderValue = ((FolderParameter) checkParameter).getValue().getPath(); } else { folderValue = ""; } final Text text = this.toolkit.createText(comp, folderValue); text.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); text.setEditable(false); text.setToolTipText(checkParameter.getDescriptor().getDescription()); final ControlDecoration decoration = new ControlDecoration(text, SWT.LEFT | SWT.TOP); Image contpro = FieldDecorationRegistry.getDefault().getFieldDecoration(FieldDecorationRegistry.DEC_ERROR) .getImage(); decoration.setImage(contpro); decoration.hide(); text.addModifyListener(new ModifyListener() { @Override public void modifyText(final ModifyEvent e) { File inputFile = new File(text.getText()); if (!inputFile.canRead() || !inputFile.isDirectory()) { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, null); decoration.show(); decoration.setShowHover(true); decoration.showHoverText( "Invalid input folder.\nFully qualified path is needed and has to exist."); } else { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, inputFile); decoration.hide(); } } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(final FocusEvent e) { } @Override public void focusLost(final FocusEvent e) { decoration.hide(); } }); text.addListener(SWT.Modify, this.masterListener); Button folderOpen = this.toolkit.createButton(comp, AdfEditorCheckDetailsPage.BROWSE, SWT.PUSH); folderOpen.setLayoutData(new GridData(SWT.NONE, SWT.TOP, false, false)); folderOpen.setToolTipText("Browse for a folder"); folderOpen.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { DirectoryDialog dirDialog = new DirectoryDialog(comp.getShell()); dirDialog.setText("Folder Selection"); if (!text.getText().isEmpty()) { dirDialog.setFilterPath(text.getText()); } else { dirDialog.setFilterPath(ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); } String result = dirDialog.open(); if (result != null && !result.isEmpty()) { File outputFile = new File(result); AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, outputFile); text.setText(outputFile.getPath()); text.update(); AdfEditorCheckDetailsPage.this.controller.setParameterQod(checkParameter, false); AdfEditorCheckDetailsPage.this.qodButtonMap.get(checkParameter).setSelection(false); } } }); }
From source file:carisma.ui.eclipse.editors.AdfEditorCheckDetailsPage.java
License:Open Source License
/** * Handles Output parameter./* w ww. j a v a2s. c om*/ * * @param comp * the composite for the parameter input elements * @param checkParameter * the checkParamter to handle */ private void handleOutputParameter(final Composite comp, final CheckParameter checkParameter) { final String outputFileValue; if (((OutputFileParameter) checkParameter).getValue() != null) { outputFileValue = (((OutputFileParameter) checkParameter).getValue()).getPath(); } else { outputFileValue = ""; } final Text text = this.toolkit.createText(comp, outputFileValue); text.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false)); text.setEditable(false); text.setToolTipText(checkParameter.getDescriptor().getDescription()); Button outputFileOpen = this.toolkit.createButton(comp, AdfEditorCheckDetailsPage.BROWSE, SWT.PUSH); outputFileOpen.setLayoutData(new GridData(SWT.NONE, SWT.TOP, false, false)); outputFileOpen.setToolTipText("Browse for an\noutput file"); final ControlDecoration decoration = new ControlDecoration(text, SWT.LEFT | SWT.TOP); final Image errorImage = FieldDecorationRegistry.getDefault() .getFieldDecoration(FieldDecorationRegistry.DEC_ERROR).getImage(); decoration.setImage(errorImage); decoration.setShowHover(true); decoration.hide(); text.addModifyListener(new ModifyListener() { @Override public void modifyText(final ModifyEvent e) { try { if (!text.getText().isEmpty()) { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, new File(text.getText())); } else { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, null); } if (((OutputFileParameter) checkParameter).isInsertedValueValid()) { decoration.hide(); } else { decoration.show(); decoration.showHoverText( "Invalid output file.\nFully qualified path is needed and has to exist."); } } catch (SWTException exc) { Logger.log(LogLevel.ERROR, "", exc); } } }); text.addFocusListener(new FocusListener() { @Override public void focusGained(final FocusEvent e) { } @Override public void focusLost(final FocusEvent e) { decoration.hide(); } }); text.addListener(SWT.Modify, this.masterListener); outputFileOpen.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { FileDialog fDialog = new FileDialog(comp.getShell(), SWT.SAVE); fDialog.setText("Output File Selection"); if (!text.getText().isEmpty()) { fDialog.setFilterPath(text.getText()); } else { fDialog.setFilterPath(ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); } String selection = fDialog.open(); if (selection != null && !selection.isEmpty()) { AdfEditorCheckDetailsPage.this.controller.setParameter(checkParameter, new File(selection)); text.setText(selection); text.update(); AdfEditorCheckDetailsPage.this.controller.setParameterQod(checkParameter, false); AdfEditorCheckDetailsPage.this.qodButtonMap.get(checkParameter).setSelection(false); } } }); }