List of usage examples for org.eclipse.jface.dialogs IDialogConstants FINISH_ID
int FINISH_ID
To view the source code for org.eclipse.jface.dialogs IDialogConstants FINISH_ID.
Click Source Link
From source file:net.refractions.udig.catalog.ui.FileConnectionPage.java
License:Open Source License
private void selectAndContinueWizard() { boolean okPressed; list.clear();// ww w .j av a 2s . co m okPressed = openFileDialog(comp); viewer.setInput(list); getContainer().updateButtons(); /* * XXX I'm not liking this. I think the workflow should be used to drive the pages because * by trying to put the buttons it is dependent the implementation of * ConnectionPageDecorator's isPageComplete method as well as what order the * WorkflowWizard's canFinish method is implemented. IE if canFinish does not call * isPageComplete before calling dryRun() the finish button will not be activated. */ if (okPressed) { if (findButton(getShell().getChildren(), IDialogConstants.FINISH_ID).isEnabled()) { pushButton(IDialogConstants.FINISH_ID); } else { pushButton(IDialogConstants.NEXT_ID); } } else { pushButton(IDialogConstants.BACK_ID); } }
From source file:net.sf.eclipsensis.dialogs.NSISTemplateWizardDialog.java
License:Open Source License
@Override protected void createButtonsForButtonBar(Composite parent) { super.createButtonsForButtonBar(parent); getButton(IDialogConstants.FINISH_ID).setText(IDialogConstants.OK_LABEL); }
From source file:net.tourbook.tour.DialogAdjustTemperature.java
License:Open Source License
@Override protected final void createButtonsForButtonBar(final Composite parent) { super.createButtonsForButtonBar(parent); // set text for the OK button final Button button = getButton(IDialogConstants.FINISH_ID); button.setText(Messages.Dialog_AdjustTemperature_Button_AdjustTemperature); // ensure the button is wide enough final GridData gd = (GridData) button.getLayoutData(); gd.widthHint = SWT.DEFAULT;/*from w ww.j av a 2s . c om*/ }
From source file:net.tourbook.tour.DialogSetTimeZone.java
License:Open Source License
@Override protected final void createButtonsForButtonBar(final Composite parent) { super.createButtonsForButtonBar(parent); // set text for the OK button final Button button = getButton(IDialogConstants.FINISH_ID); button.setText(Messages.Dialog_SetTimeZone_Button_AdjustTimeZone); // ensure the button is wide enough final GridData gd = (GridData) button.getLayoutData(); gd.widthHint = SWT.DEFAULT;/*from w ww . j av a 2 s . co m*/ }
From source file:nexcore.tool.uml.ui.core.dialog.TypeSelectDialog.java
License:Open Source License
/** * @see org.eclipse.ui.dialogs.SelectionDialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite) *///from w w w . j a v a2 s .co m @Override protected void createButtonsForButtonBar(Composite parent) { this.createButton(parent, IDialogConstants.FINISH_ID, UMLMessage.LABEL_TYPE_CANCEL, true); super.createButtonsForButtonBar(parent); }
From source file:nexcore.tool.uml.ui.core.dialog.TypeSelectDialog.java
License:Open Source License
/** * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int) */// w ww . jav a2s.c o m @Override protected void buttonPressed(int buttonId) { if (buttonId == IDialogConstants.FINISH_ID) { typeCancelPressed(buttonId); } else { super.buttonPressed(buttonId); } }
From source file:nexcore.tool.uml.ui.core.dialog.TypeSelectDialog.java
License:Open Source License
/** * ? ? ? void/* w ww . ja v a 2 s . co m*/ */ protected void typeCancelPressed(int buttonId) { this.setReturnCode(IDialogConstants.FINISH_ID); this.close(); }
From source file:nexcore.tool.uml.ui.property.section.AttributeSection.java
License:Open Source License
/** * @see nexcore.tool.uml.ui.property.section.AbstractPropertyCommonSection#createMainComposite() *//* w w w . ja v a 2 s .c om*/ @Override public void createMainComposite() { gridData = new GridData(GridData.FILL_BOTH); parent.setLayoutData(gridData); sectionComposite = getWidgetFactory().createComposite(parent); sectionLayout = new GridLayout(1, false); sectionComposite.setLayout(sectionLayout); // ToDo // ViewerPane viewerPane = new ViewerPane(getSite().getPage(), // getPart()){ // // @Override // public Viewer createViewer(Composite parent) { // // TODO Auto-generated method stub // return null; // } // // }; // // viewerPane.createControl(getContainer()); // ToolBarManager manager = viewerPane.getToolBarManager(); // // Action addAction = new Action( , // ImageDescriptor.createFromImage(IConstantImageRegistry.eInstance.getSmallIcon(IConstantImageRegistry.ICONNAME_ADD)); // buttonComposite = getWidgetFactory().createComposite(sectionComposite); sectionLayout = new GridLayout(4, true); buttonComposite.setLayout(sectionLayout); gridData = new GridData(); gridData.verticalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING; buttonComposite.setLayoutData(gridData); Button addButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_ADD), SWT.PUSH); // Button addButton = getWidgetFactory().createButton(buttonComposite, // "", SWT.NONE); // addButton.setForeground(ColorConstants.white); // addButton.setImage(IConstantImageRegistry.eInstance.getSmallIcon(IConstantImageRegistry.ICONNAME_ADD)); // addButton.setImage(IConstantImageRegistry.eInstance.getSmallIcon(IConstantImageRegistry.ICONNAME_ADD)); // ImageDescriptor.createFromImage(IConstantImageRegistry.eInstance.getSmallIcon(IConstantImageRegistry.ICONNAME_TEXT)) gridData = new GridData(); gridData.verticalAlignment = GridData.HORIZONTAL_ALIGN_BEGINNING; gridData.horizontalAlignment = GridData.FILL; addButton.setLayoutData(gridData); addButton.addListener(SWT.MouseDown, new Listener() { /** * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event event) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createAttribute(); } }); tableViewer.refresh(); packColumns(); } }); Button deleteButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_DELETE), SWT.NONE); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; deleteButton.setLayoutData(gridData); deleteButton.addListener(SWT.MouseDown, new Listener() { /** * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event event) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { removeAttribute(); } }); tableViewer.refresh(); packColumns(); } }); Button upperButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_UPPER), SWT.NONE); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; upperButton.setLayoutData(gridData); upperButton.addListener(SWT.MouseDown, new Listener() { /** * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event event) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { upperAttribute(); } }); tableViewer.refresh(); packColumns(); } }); Button downButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_DOWN), SWT.NONE); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; downButton.setLayoutData(gridData); downButton.addListener(SWT.MouseDown, new Listener() { /** * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) */ public void handleEvent(Event event) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { downAttribute(); } }); tableViewer.refresh(); packColumns(); } }); tableViewerComposite = getWidgetFactory().createComposite(sectionComposite); sectionLayout = new GridLayout(); tableViewerComposite.setLayout(sectionLayout); gridData = new GridData(GridData.FILL_BOTH); tableViewerComposite.setLayoutData(gridData); tableViewer = new TableViewer(tableViewerComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); table = tableViewer.getTable(); gridData = new GridData(GridData.FILL_BOTH); table.setLayoutData(gridData); table.setLinesVisible(true); table.setHeaderVisible(true); tableViewer.setUseHashlookup(true); tableViewer.setColumnProperties(COLUMN_NAMES); tableViewer.setContentProvider(new AttributeSectionContentProvider()); // 2012-09-13 // ?? ? ( ? ?) tableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { TableItem item = tableViewer.getTable().getItem(new Point(e.x, e.y)); if (item == null) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createAttribute(); } }); tableViewer.refresh(); packColumns(); } } }); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) { /** * @see org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy#isEditorActivationEvent(org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent) */ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION; } }; TableViewerEditor.create(tableViewer, actSupport, ColumnViewerEditor.KEYBOARD_ACTIVATION); for (int i = 0; i < COLUMN_NAMES.length; i++) { viewerColumn = new TableViewerColumn(tableViewer, SWT.BORDER_DOT); viewerColumn.getColumn().setText(COLUMN_NAMES[i]); viewerColumn.getColumn().setWidth(COLUMN_WIDTHS[i]); viewerColumn.getColumn().setAlignment(SWT.LEFT); viewerColumn.getColumn().setMoveable(false); viewerColumn.getColumn().setResizable(true); final int columnNumber = i; viewerColumn.setLabelProvider(new AttributeSectionLabelProvider(i)); viewerColumn.setEditingSupport(new EditingSupport(tableViewer) { /** stringBuffer */ StringBuffer stringBuffer; /** * @see org.eclipse.jface.viewers.EditingSupport#canEdit(java.lang.Object) */ protected boolean canEdit(Object element) { if (columnNumber != 0) return true; return false; } /** * @see org.eclipse.jface.viewers.EditingSupport#getCellEditor(java.lang.Object) */ protected CellEditor getCellEditor(Object element) { return getCellEditors(columnNumber, element); } /** * @see org.eclipse.jface.viewers.EditingSupport#getValue(java.lang.Object) */ protected Object getValue(Object element) { switch (columnNumber) { case _NAME_COLUMN: return getTextOfName((Property) element); case _TYPE_COLUMN: return getTextOfType((Property) element); case _DEFAULT_VALUE_COLUMN: return getDefaultValue((Property) element); case _VISIBILITY_COLUMN: return ((Property) element).getVisibility().toString(); case _STATIC_COLUMN: return Boolean.toString(((Property) element).isStatic()); case _MULTIPLICITY_COLUMN: return getMultiplicity((Property) element); default: break; } return null; } private Object getDefaultValue(Property element) { // if(element.getDefault()!=null) return // element.getDefault(); if (element.getDefaultValue() != null) { if (element.getDefaultValue() instanceof LiteralString) { // return // ((LiteralString)element.getDefaultValue()).getValue().toString(); return ((LiteralString) element.getDefaultValue()).getValue(); } else if (element.getDefaultValue() instanceof LiteralInteger) { return String.valueOf(((LiteralInteger) element.getDefaultValue()).getValue()); } else if (element.getDefaultValue() instanceof LiteralUnlimitedNatural) { return String.valueOf(((LiteralUnlimitedNatural) element.getDefaultValue()).getValue()); } else if (element.getDefaultValue() instanceof LiteralBoolean) { return ((LiteralBoolean) element.getDefaultValue()); } else { return UICoreConstant.UMLSECTION_CONSTANTS__DEFAULT_VALUES_NULL; } } else { return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } } /** * ?? . * * @param property * @return String */ private String getTextOfName(NamedElement element) { if (element.getName() != null) { return element.getName().toString(); } else { return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } } /** * * * @param element * @return String */ private String getTextOfType(TypedElement element) { if (element.getType() != null) { stringBuffer = new StringBuffer(); stringBuffer.append(element.getType().getName()); stringBuffer.append(UICoreConstant.UMLSECTION_CONSTANTS__PARENTHESIS_LEFT); stringBuffer.append(element.getType().getQualifiedName()); stringBuffer.append(UICoreConstant.UMLSECTION_CONSTANTS__PARENTHESIS_RIGHT); return stringBuffer.toString(); } return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } /** * ? . * * @param property * @return String */ private String getMultiplicity(MultiplicityElement multiplicityElement) { if (multiplicityElement.getUpperValue() != null && multiplicityElement.getLowerValue() != null) { if (isSingleStar(multiplicityElement)) { return MultiplicityType.SINGLE_STAR.toString(); } else if (isZeroToUnique(multiplicityElement)) { return MultiplicityType.ZERO_TO_UNIQUE.toString(); } else if (isUnique(multiplicityElement)) { return MultiplicityType.UNIQUE.toString(); } else if (isUniqueToSingleStar(multiplicityElement)) { return MultiplicityType.UNIQUE_TO_SINGLE_STAR.toString(); } else { // ? ? return multiplicityElement.getUpperValue().stringValue(); } } else { return MultiplicityType.UNIQUE.toString(); } } /** * ? "*" ? ?. * * @param property * @return boolean */ private boolean isSingleStar(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___ZERO .equals(multiplicityElement.getLowerValue().stringValue())) { if (MultiplicityType.SINGLE_STAR.toString() .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "1" ? ?. * * @param property * @return boolean */ private boolean isUnique(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getLowerValue().stringValue())) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "1.. *" ? ?. * * @param property * @return boolean */ private boolean isUniqueToSingleStar(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getLowerValue().stringValue())) { if (MultiplicityType.SINGLE_STAR.toString() .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "0.. 1" ? ?. * * @param property * @return boolean */ private boolean isZeroToUnique(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___ZERO .equals(multiplicityElement.getLowerValue().stringValue())) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object, * java.lang.Object) */ protected void setValue(Object element, Object value) { if (null == value) { return; } if (value != null) { switch (columnNumber) { case _NAME_COLUMN: setNameToElement((Property) element, (String) value); break; case _TYPE_COLUMN: setTypeToElement((Property) element); break; case _DEFAULT_VALUE_COLUMN: setDefaultValueToElement((Property) element, (String) value); break; case _VISIBILITY_COLUMN: setVisibilityToElement((Property) element, (String) value); break; case _STATIC_COLUMN: setIsStaticToElement((Property) element, (String) value); break; case _MULTIPLICITY_COLUMN: setMultiplicityToElement((Property) element, (String) value); break; default: return; } } tableViewer.refresh(); } /** * * * @param element * void */ private void setTypeToElement(final TypedElement element) { if (((UMLTypeCellEditor) cellEditor).getFirstResult() != null) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { ((Property) element) .setType(((Type) ((UMLTypeCellEditor) cellEditor).getFirstResult())); ((Property) element).setDefaultValue((ValueSpecification) null); } }); } else { // DomainUtil.run(new TransactionalAction() { // /** // * @see // nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() // */ // @Override // public void doExecute() { // if( ((Property) element).getType()!=null){ // ((Property) element).setType((Type)null); // ((Property) // element).setDefaultValue((ValueSpecification)null); // } // } // }); } } /** * ?? ? . * * @param value * void */ private void setDefaultValueToElement(Object element, Object value) { DomainUtil.run(new DefaultValueTrasactionAction(element, value)); // defaultValue = ((Property) element).getDefaultValue(); // Property property = (Property) element); // if (defaultValue != null) { // ValueSpecificationOperations.setValue(defaultValue, // (String)value); // // } else { // ((Property) element).setStringDefaultValue(((String) // value)); // } // // if (((String) value).equals(defaultValues[3])) { // // // ((Property) element).setDefaultValue(value); // } else if (((String) value).equals(defaultValues[4])) { // // // // } } /** * ?? ?? . * * @param element * @param value * void */ private void setIsStaticToElement(final Feature element, final String value) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { if (value.equals(Boolean.toString(true))) { element.setIsStatic(true); } else if (value.equals(Boolean.toString(false))) { element.setIsStatic(false); } } }); } /** * ?? ? . * * @param element * @param value * void */ private void setMultiplicityToElement(final MultiplicityElement element, final String value) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { if (value.equals(MultiplicityType.SINGLE_STAR.toString())) { // * element.setLower(0); element.setUpper(LiteralUnlimitedNatural.UNLIMITED); } else if (value.equals(MultiplicityType.ZERO_TO_UNIQUE.toString())) { // 0.. 1 element.setLower(0); element.setUpper(1); } else if (value.equals(MultiplicityType.UNIQUE.toString())) { // 1 element.setLower(1); element.setUpper(1); } else if (value.equals(MultiplicityType.UNIQUE_TO_SINGLE_STAR.toString())) { // 1.. * element.setLower(1); element.setUpper(LiteralUnlimitedNatural.UNLIMITED); } else if (value.equals(MultiplicityType.NONE.toString())) { // 1 element.setLower(1); element.setUpper(1); } else { try { final int intValue = new Integer(value).intValue(); if (intValue > 0) { DomainUtil.run(new TransactionalAction() { @Override public void doExecute() { element.setLower(intValue); element.setUpper(intValue); } }); } } catch (Exception e2) { // TODO: handle exception } } } }); } /** * ?? ?? . * * @param element * @param value * void */ private void setNameToElement(final NamedElement element, final String value) { if (UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING.equals(value)) { // TODO ?? ? ? . } else { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { element.setName(value); } }); } } /** * ?? ? . * * @param element * @param value * void */ private void setVisibilityToElement(final NamedElement element, final String value) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { if (value.equals(VisibilityType.PUBLIC.toString())) element.setVisibility(VisibilityKind.PUBLIC_LITERAL); else if (value.equals(VisibilityType.PRIVATE.toString())) element.setVisibility(VisibilityKind.PRIVATE_LITERAL); else if (value.equals(VisibilityType.PROTECTED.toString())) element.setVisibility(VisibilityKind.PROTECTED_LITERAL); else if (value.equals(VisibilityType.PACKAGE.toString())) element.setVisibility(VisibilityKind.PACKAGE_LITERAL); } }); } }); } // ? Menu menu = new Menu(table); MenuItem addItem = new MenuItem(menu, SWT.CASCADE); addItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createAttribute(); } }); tableViewer.refresh(); packColumns(); } }); addItem.setText(UMLMessage.getMessage(UMLMessage.LABEL_ADD_NEW_ATTRIBUTE)); MenuItem deleteItem = new MenuItem(menu, SWT.CASCADE); deleteItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { removeAttribute(); } }); tableViewer.refresh(); packColumns(); } }); deleteItem.setText(UMLMessage.getMessage(UMLMessage.LABEL_DELETE_FROM_MODEL)); MenuItem typeAllItem = new MenuItem(menu, SWT.CASCADE); typeAllItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { final TableItem[] items = tableViewer.getTable().getSelection(); if (items == null || items.length < 1) { return; } Object property = items[0].getData(); if (property instanceof Property) { TypeSelectDialog dialog = new TypeSelectDialog(table.getShell(), TypeSelectDialogType.PROPERTY, (Property) property); int returnCode = dialog.open(); switch (returnCode) { case Window.OK: final Object firstResult = dialog.getFirstResult(); DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { for (TableItem item : items) { Object property = item.getData(); if (property instanceof Property) { ((Property) property).setType((Type) firstResult); } } } }); tableViewer.refresh(); return; case Window.CANCEL: case IDialogConstants.FINISH_ID: default: return; } } } }); tableViewer.refresh(); packColumns(); } }); typeAllItem.setText(UMLMessage.LABEL_TYPE_SET); table.setMenu(menu); }
From source file:nexcore.tool.uml.ui.property.section.NameOfNotationGeneralSection.java
License:Open Source License
/** * createSelectTypeDialog/*from w w w .jav a 2 s .c om*/ * * @param applicableTypeList void */ private void createSelectTypeDialog(ArrayList<Type> applicableTypeList) { TypeSelectDialog dialog = new TypeSelectDialog(null, TypeSelectDialogType.RETURN_TYPE, getData()); dialog.setElements(applicableTypeList.toArray()); int returnCode = dialog.open(); switch (returnCode) { case Window.OK: selectedElement = (Element) dialog.getFirstResult(); case Window.CANCEL: return; case IDialogConstants.FINISH_ID: return; default: return; } }
From source file:nexcore.tool.uml.ui.property.section.ParameterSection.java
License:Open Source License
/** * @see nexcore.tool.uml.ui.property.section.AbstractPropertyCommonSection#createMainComposite() *//*w ww . j a va 2 s . c om*/ @Override public void createMainComposite() { gridData = new GridData(GridData.FILL_BOTH); parent.setLayoutData(gridData); sectionComposite = getWidgetFactory().createComposite(parent); sectionLayout = new GridLayout(1, false); sectionComposite.setLayout(sectionLayout); buttonComposite = getWidgetFactory().createComposite(sectionComposite); sectionLayout = new GridLayout(2, true); buttonComposite.setLayout(sectionLayout); Button addButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_ADD), SWT.NONE); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; addButton.setLayoutData(gridData); addButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createParameter(); } }); tableViewer.refresh(); packColumns(); } }); // addButton.addListener(SWT.MouseDown, new Listener() { // /** // * @see // org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) // */ // public void handleEvent(Event event) { // DomainUtil.run(new TransactionalAction() { // /** // * @see // nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() // */ // @Override // public void doExecute() { // createParameter(); // } // }); // tableViewer.refresh(); // packColumns(); // } // }); Button deleteButton = getWidgetFactory().createButton(buttonComposite, UMLMessage.getMessage(UMLMessage.LABEL_DELETE), SWT.NONE); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; deleteButton.setLayoutData(gridData); deleteButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { removeParameter(); } }); tableViewer.refresh(); packColumns(); } }); // deleteButton.addListener(SWT.MouseDown, new Listener() { // /** // * @see // org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) // */ // public void handleEvent(Event event) { // DomainUtil.run(new TransactionalAction() { // /** // * @see // nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() // */ // @Override // public void doExecute() { // removeParameter(); // } // }); // tableViewer.refresh(); // packColumns(); // } // }); tableViewerComposite = getWidgetFactory().createComposite(sectionComposite); sectionLayout = new GridLayout(); tableViewerComposite.setLayout(sectionLayout); gridData = new GridData(GridData.FILL_BOTH); tableViewerComposite.setLayoutData(gridData); tableViewer = new TableViewer(tableViewerComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); table = tableViewer.getTable(); gridData = new GridData(GridData.FILL_BOTH); table.setLayoutData(gridData); table.setLinesVisible(true); table.setHeaderVisible(true); tableViewer.setUseHashlookup(true); tableViewer.setColumnProperties(COLUMN_NAMES); tableViewer.setContentProvider(new ParameterSectionContentProvider()); // 2012-09-13 // ?? ? ( ? ?) tableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { TableItem item = tableViewer.getTable().getItem(new Point(e.x, e.y)); if (item == null) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createParameter(); } }); tableViewer.refresh(); packColumns(); } } }); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(tableViewer) { /** * @see org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy#isEditorActivationEvent(org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent) */ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION; } }; TableViewerEditor.create(tableViewer, actSupport, ColumnViewerEditor.KEYBOARD_ACTIVATION); for (int i = 0; i < COLUMN_NAMES.length; i++) { viewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); viewerColumn.getColumn().setText(COLUMN_NAMES[i]); viewerColumn.getColumn().setWidth(COLUMN_WIDTHS[i]); viewerColumn.getColumn().setAlignment(SWT.LEFT); viewerColumn.getColumn().setMoveable(false); final int columnNumber = i; viewerColumn.setLabelProvider(new ParameterSectionLabelProvider(i)); viewerColumn.setEditingSupport(new EditingSupport(tableViewer) { /** instanceClassName */ String instanceClassName; /** stringBuffer */ StringBuffer stringBuffer; /** * @see org.eclipse.jface.viewers.EditingSupport#canEdit(java.lang.Object) */ protected boolean canEdit(Object element) { if (columnNumber != 0) return true; return false; } /** * @see org.eclipse.jface.viewers.EditingSupport#getCellEditor(java.lang.Object) */ protected CellEditor getCellEditor(Object element) { return getCellEditors(columnNumber, element); } /** * @see org.eclipse.jface.viewers.EditingSupport#getValue(java.lang.Object) */ protected Object getValue(Object element) { switch (columnNumber) { case _DIRECTION_COLUMN: return getDirection((Parameter) element); case _NAME_COLUMN: return getName((Parameter) element); case _DEFAULT_VALUE_COLUMN: return getDefaultValue((Parameter) element); case _TYPE_COLUMN: return getTypeText((Parameter) element); case _IS_ORDERED_COLUMN: return Boolean.toString(((Parameter) element).isOrdered()); case _IS_UNIQUE_COLUMN: return Boolean.toString(((Parameter) element).isUnique()); case _MULTIPLICITY_COLUMN: return getMultiplicity((Parameter) element); default: break; } return null; } private Object getDefaultValue(Parameter element) { if (element.getDefaultValue() != null) { if (element.getDefaultValue() instanceof LiteralString) { return ((LiteralString) element.getDefaultValue()).getValue().toString(); } else if (element.getDefaultValue() instanceof LiteralInteger) { return String.valueOf(((LiteralInteger) element.getDefaultValue()).getValue()); } else if (element.getDefaultValue() instanceof LiteralUnlimitedNatural) { return String.valueOf(((LiteralUnlimitedNatural) element.getDefaultValue()).getValue()); } else if (element.getDefaultValue() instanceof LiteralBoolean) { return String.valueOf((LiteralBoolean) element.getDefaultValue()); } else { return UICoreConstant.UMLSECTION_CONSTANTS__DEFAULT_VALUES_NULL; } } else { return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } } /** * * * @param element * @return Object */ private String getDirection(Parameter element) { if (element.getDirection().equals(ParameterDirectionKind.IN_LITERAL)) { return ParameterDirectionType.IN.toString(); } else if (element.getDirection().equals(ParameterDirectionKind.INOUT_LITERAL)) { return ParameterDirectionType.INOUT.toString(); } else if (element.getDirection().equals(ParameterDirectionKind.OUT_LITERAL)) { return ParameterDirectionType.OUT.toString(); } else if (element.getDirection().equals(ParameterDirectionKind.RETURN_LITERAL)) { return ParameterDirectionType.RETURN.toString(); } return null; } /** * ?? . * * @param property * @return String */ private String getName(NamedElement element) { if (element.getName() != null) return element.getName().toString(); else return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } /** * * * @param element * @return String */ private String getTypeText(TypedElement typedElement) { if (typedElement.getType() != null) { instanceClassName = typedElement.getType().eClass().getInstanceClassName(); stringBuffer = new StringBuffer(); stringBuffer.append(UICoreConstant.UMLSECTION_CONSTANTS__SQUARE_BRAKET_LEFT); stringBuffer.append(StringUMLNameUtil.getUMLNotationName(instanceClassName)); stringBuffer.append(UICoreConstant.UMLSECTION_CONSTANTS__SQUARE_BRAKET_RIGHT); stringBuffer.append(UICoreConstant.PROJECT_CONSTANTS__BLANK); stringBuffer.append(typedElement.getType().getName()); return stringBuffer.toString(); } return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } /** * ? . * * @param property * @return String */ private String getMultiplicity(MultiplicityElement multiplicityElement) { if (multiplicityElement.getUpperValue() != null && multiplicityElement.getLowerValue() != null) { if (isSingleStar(multiplicityElement)) { return MultiplicityType.SINGLE_STAR.toString(); } else if (isZeroToUnique(multiplicityElement)) { return MultiplicityType.ZERO_TO_UNIQUE.toString(); } else if (isUnique(multiplicityElement)) { return MultiplicityType.UNIQUE.toString(); } else if (isUniqueToSingleStar(multiplicityElement)) { return MultiplicityType.UNIQUE_TO_SINGLE_STAR.toString(); } } else { return MultiplicityType.UNIQUE.toString(); } return UICoreConstant.PROJECT_CONSTANTS__EMPTY_STRING; } /** * ? "*" ? ?. * * @param property * @return boolean */ private boolean isSingleStar(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___ZERO .equals(multiplicityElement.getLowerValue().stringValue())) { if (MultiplicityType.SINGLE_STAR.toString() .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "1" ? ?. * * @param property * @return boolean */ private boolean isUnique(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getLowerValue().stringValue())) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "1.. *" ? ?. * * @param property * @return boolean */ private boolean isUniqueToSingleStar(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getLowerValue().stringValue())) { if (MultiplicityType.SINGLE_STAR.toString() .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * ? "0.. 1" ? ?. * * @param property * @return boolean */ private boolean isZeroToUnique(MultiplicityElement multiplicityElement) { if (UICoreConstant.UMLSECTION_CONSTANTS___ZERO .equals(multiplicityElement.getLowerValue().stringValue())) { if (UICoreConstant.UMLSECTION_CONSTANTS___UNIQUE .equals(multiplicityElement.getUpperValue().stringValue())) { return true; } } return false; } /** * @see org.eclipse.jface.viewers.EditingSupport#setValue(java.lang.Object, * java.lang.Object) */ protected void setValue(final Object element, final Object value) { if (null == value) { return; } List<Parameter> parameters = getData().getOwnedParameters(); switch (columnNumber) { case _NAME_COLUMN: for (Parameter p : parameters) { if (value != null) { if (value instanceof String) { if (element != p && ((String) value).equals(p.getName())) { MessageDialog.openWarning(getPart().getSite().getShell(), UMLMessage.LABEL_DUPLICATE_ERROR, UMLMessage.MESSAGE_DUPLICATE_ERROR); return; } } } } break; } DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { if (value != null) { switch (columnNumber) { case _DIRECTION_COLUMN: setDirectionToElemet((Parameter) element, value); break; case _NAME_COLUMN: setNameToElement((Parameter) element, value); break; case _DEFAULT_VALUE_COLUMN: setDefaultValueToElement((Parameter) element, (String) value); break; case _TYPE_COLUMN: if (((UMLTypeCellEditor) cellEditor).getFirstResult() != null) { if (element instanceof Parameter) { // 2012-09-13 // ? ? ?? "parameter" ? ?? ?? . if (((Parameter) element).getDirection() .equals(ParameterDirectionKind.RETURN_LITERAL)) { if (((Parameter) element).getName().startsWith(PREFIX)) { Operation operation = ((Operation) ((Parameter) element) .getOwner()); for (Parameter para : operation.returnResult()) { para.destroy(); } operation.createReturnResult( ((Type) ((UMLTypeCellEditor) cellEditor) .getFirstResult()).getName(), ((Type) ((UMLTypeCellEditor) cellEditor) .getFirstResult())); } } ((Parameter) element).setType( ((Type) ((UMLTypeCellEditor) cellEditor).getFirstResult())); } } break; case _IS_ORDERED_COLUMN: setIsOrderedToElement((Parameter) element, value); break; case _IS_UNIQUE_COLUMN: setIsUniqueToElement((Parameter) element, value); break; case _MULTIPLICITY_COLUMN: setMultiplicityToElement((Parameter) element, value); break; default: return; } } } }); tableViewer.refresh(); } /** * * * @param element * @param value * void */ private void setIsUniqueToElement(MultiplicityElement element, Object value) { if (((String) value).equals(Boolean.toString(true))) { element.setIsUnique(true); } else if (((String) value).equals(Boolean.toString(false))) { element.setIsUnique(false); } } /** * * * @param element * @param value * void */ private void setIsOrderedToElement(MultiplicityElement element, Object value) { if (((String) value).equals(Boolean.toString(true))) { element.setIsOrdered(true); } else if (((String) value).equals(Boolean.toString(false))) { element.setIsOrdered(false); } } /** * ?? ? . * * @param element * @param value * void */ private void setDirectionToElemet(Parameter element, Object value) { if (((String) value).equals(ParameterDirectionType.IN.toString())) { element.setDirection(ParameterDirectionKind.IN_LITERAL); } else if (((String) value).equals(ParameterDirectionType.INOUT.toString())) { element.setDirection(ParameterDirectionKind.INOUT_LITERAL); } else if (((String) value).equals(ParameterDirectionType.OUT.toString())) { element.setDirection(ParameterDirectionKind.OUT_LITERAL); } else if (((String) value).equals(ParameterDirectionType.RETURN.toString())) { Operation operation = (Operation) element.getOwner(); if (operation.getReturnResult() == null) { element.setDirection(ParameterDirectionKind.RETURN_LITERAL); } } } /** * ?? ? . * * @param value * void */ private void setDefaultValueToElement(Object element, Object value) { DomainUtil.run(new DefaultValueTrasactionAction(element, value)); // defaultValue = ((Property) element).getDefaultValue(); // Property property = (Property) element); // if (defaultValue != null) { // ValueSpecificationOperations.setValue(defaultValue, // (String)value); // // } else { // ((Property) element).setStringDefaultValue(((String) // value)); // } // // if (((String) value).equals(defaultValues[3])) { // // // ((Property) element).setDefaultValue(value); // } else if (((String) value).equals(defaultValues[4])) { // // // // } } /** * ?? ? . * * @param element * @param value * void */ private void setMultiplicityToElement(MultiplicityElement element, Object value) { if (((String) value).equals(MultiplicityType.SINGLE_STAR.toString())) { // * element.setLower(0); element.setUpper(LiteralUnlimitedNatural.UNLIMITED); } else if (((String) value).equals(MultiplicityType.ZERO_TO_UNIQUE.toString())) { // 0.. 1 element.setLower(0); element.setUpper(1); } else if (((String) value).equals(MultiplicityType.UNIQUE.toString())) { // 1 element.setLower(1); element.setUpper(1); } else if (((String) value).equals(MultiplicityType.UNIQUE_TO_SINGLE_STAR.toString())) { // 1.. * element.setLower(1); element.setUpper(LiteralUnlimitedNatural.UNLIMITED); } else if (((String) value).equals(MultiplicityType.NONE.toString())) { // 1 element.setLower(1); element.setUpper(1); } } /** * ?? ?? . * * @param element * @param value * void */ private void setNameToElement(NamedElement element, Object value) { element.setName((String) value); } }); } // ? Menu menu = new Menu(table); MenuItem addItem = new MenuItem(menu, SWT.CASCADE); addItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { createParameter(); } }); tableViewer.refresh(); packColumns(); } }); addItem.setText(UMLMessage.getMessage(UMLMessage.LABEL_ADD_NEW_ATTRIBUTE)); MenuItem deleteItem = new MenuItem(menu, SWT.CASCADE); deleteItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { removeParameter(); } }); tableViewer.refresh(); packColumns(); } }); deleteItem.setText(UMLMessage.getMessage(UMLMessage.LABEL_DELETE_FROM_MODEL)); MenuItem typeAllItem = new MenuItem(menu, SWT.CASCADE); typeAllItem.addSelectionListener(new SelectionAdapter() { /** * @see org.eclipse.swt.events.SelectionAdapter#widgetSelected(org.eclipse.swt.events.SelectionEvent) */ public void widgetSelected(SelectionEvent e) { DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { final TableItem[] items = tableViewer.getTable().getSelection(); if (items == null || items.length < 1) { return; } Object data = items[0].getData(); if (data instanceof Parameter) { TypeSelectDialog dialog = new TypeSelectDialog(table.getShell(), TypeSelectDialogType.PROPERTY, (Parameter) data); int returnCode = dialog.open(); switch (returnCode) { case Window.OK: final Object firstResult = dialog.getFirstResult(); DomainUtil.run(new TransactionalAction() { /** * @see nexcore.tool.uml.manager.transaction.TransactionalAction#doExecute() */ @Override public void doExecute() { for (TableItem item : items) { Object param = item.getData(); if (param instanceof Parameter) { ((Parameter) param).setType((Type) firstResult); } } } }); tableViewer.refresh(); return; case Window.CANCEL: case IDialogConstants.FINISH_ID: default: return; } } } }); tableViewer.refresh(); packColumns(); } }); typeAllItem.setText(UMLMessage.LABEL_TYPE_SET); table.setMenu(menu); // }