Example usage for org.eclipse.jface.dialogs IDialogConstants FINISH_ID

List of usage examples for org.eclipse.jface.dialogs IDialogConstants FINISH_ID

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs IDialogConstants FINISH_ID.

Prototype

int FINISH_ID

To view the source code for org.eclipse.jface.dialogs IDialogConstants FINISH_ID.

Click Source Link

Document

Button id for a "Finish" button (value 16).

Usage

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);

    // 

}