diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/MappedByComposite.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/MappedByComposite.java | 222 |
1 files changed, 0 insertions, 222 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/MappedByComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/MappedByComposite.java deleted file mode 100644 index 7543af4735..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/MappedByComposite.java +++ /dev/null @@ -1,222 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2008 Oracle. All rights reserved. - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0, which accompanies this distribution - * and is available at http://www.eclipse.org/legal/epl-v10.html. - * - * Contributors: - * Oracle - initial API and implementation - ******************************************************************************/ -package org.eclipse.jpt.ui.internal.mappings.details; - -import java.util.Collection; -import java.util.Iterator; -import org.eclipse.jpt.core.context.NonOwningMapping; -import org.eclipse.jpt.core.context.RelationshipMapping; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.ui.internal.util.SWTUtil; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.StringTools; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.custom.CCombo; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | -------------------------------------------------------------- | - * | Mapped By: | |v| | - * | -------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see NonOwningMapping - * @see ManyToManyMappingComposite - A container of this pane - * @see OneToManyMappingComposite - A container of this pane - * @see OneToOneMappingComposite - A container of this pane - * - * @version 2.0 - * @since 1.0 - */ -@SuppressWarnings("nls") -public class MappedByComposite extends AbstractFormPane<NonOwningMapping> -{ - private CCombo combo; - - /** - * Creates a new <code>MappedByComposite</code>. - * - * @param parentPane The parent container of this one - * @param parent The parent container - */ - public MappedByComposite(AbstractFormPane<? extends NonOwningMapping> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - /** - * Creates a new <code>MappedByComposite</code>. - * - * @param subjectHolder The holder of the subject <code>INonOwningMapping</code> - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public MappedByComposite(PropertyValueModel<? extends NonOwningMapping> subjectHolder, - Composite parent, - WidgetFactory widgetFactory) { - - super(subjectHolder, parent, widgetFactory); - } - - /* - * (non-Javadoc) - */ - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - - propertyNames.add(RelationshipMapping.RESOLVED_TARGET_ENTITY_PROPERTY); - - propertyNames.add(NonOwningMapping.MAPPED_BY_PROPERTY); - } - - private ModifyListener buildComboModifyListener() { - return new ModifyListener() { - public void modifyText(ModifyEvent e) { - if (!isPopulating()) { - CCombo combo = (CCombo) e.widget; - if (combo.getData("populating") != Boolean.TRUE) {//check !TRUE because null is a possibility as well - valueChanged(combo.getText()); - } - } - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void doPopulate() { - - super.doPopulate(); - populateCombo(); - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - combo = buildLabeledEditableCCombo( - container, - JptUiMappingsMessages.NonOwningMapping_mappedByLabel, - buildComboModifyListener(), - JpaHelpContextIds.MAPPING_MAPPED_BY - ); - - SWTUtil.attachDefaultValueHandler(combo); - } - - private void populateCombo() { - - combo.removeAll(); - combo.add(JptUiMappingsMessages.NoneSelected); - - NonOwningMapping subject = subject(); - - if (subject != null) { - Iterator<String> iter = subject.candidateMappedByAttributeNames(); - - for (iter = CollectionTools.sort(iter); iter.hasNext(); ) { - combo.add(iter.next()); - } - } - - updateSelectedItem(); - } - - /* - * (non-Javadoc) - */ - @Override - protected void propertyChanged(String propertyName) { - super.propertyChanged(propertyName); - - if (propertyName == NonOwningMapping.MAPPED_BY_PROPERTY || - propertyName == RelationshipMapping.RESOLVED_TARGET_ENTITY_PROPERTY) { - - populateCombo(); - } - } - - /** - * Updates the selected item by selected the current value, if not - * <code>null</code>, or select the default value if one is available, - * otherwise remove the selection. - * <p> - * <b>Note:</b> It seems the text can be shown as truncated, changing the - * selection to (0, 0) makes the entire text visible. - */ - private void updateSelectedItem() { - - NonOwningMapping subject = subject(); - String value = (subject != null) ? subject.getMappedBy() : null; - - if (value != null) { - combo.setText(value); - } - else { - combo.select(0); - } - - combo.setSelection(new Point(0, 0)); - } - - private void valueChanged(String value) { - - NonOwningMapping subject = subject(); - String oldValue = (subject != null) ? subject.getMappedBy() : null; - - // Check for null value - if (StringTools.stringIsEmpty(value)) { - value = null; - - if (StringTools.stringIsEmpty(oldValue)) { - return; - } - } - - // The default value - if (JptUiMappingsMessages.NoneSelected.equals(value)) { - value = null; - } - - // Nothing to change - if ((oldValue == value) && value == null) { - return; - } - - // Set the new value - if ((value != null) && (oldValue == null) || - ((oldValue != null) && !oldValue.equals(value))) { - - setPopulating(true); - - try { - subject.setMappedBy(value); - } - finally { - setPopulating(false); - } - } - } -}
\ No newline at end of file |