Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java')
-rw-r--r--plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java414
1 files changed, 207 insertions, 207 deletions
diff --git a/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java b/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java
index db51660ef6b..6f3cd39b6cb 100644
--- a/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java
+++ b/plugins/facet/org.eclipse.papyrus.emf.facet.util.ui/src/org/eclipse/papyrus/emf/facet/util/ui/internal/exported/util/tree/menu/AbstractTreeMenuItem.java
@@ -1,207 +1,207 @@
-/**
- * Copyright (c) 2012 Mia-Software.
- *
- * 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:
- * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
- */
-package org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.tree.menu;
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.eclipse.papyrus.emf.facet.util.core.Logger;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.Activator;
-import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.tree.item.AbstractTreeItem;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-
-/**
- * Abstract class for the tree menu item. Each Menu Item had an handler which
- * provide the methods: <li>{@link #isEnabled()} : return if the menu item has to be displayed.</li> <li>{@link #onMenuItemSelection()} : this method will be execute when the item is selected.</li> <li>
- * {@link #getAssociatedTreeItemClass()} : links this class with an {@link AbstractTreeItem}. This item will be instantiate when the user select this element on the tree menu.</li>
- *
- * @see AbstractTreeItem
- * @see AbstractTreeMenu
- * @since 0.3
- */
-public abstract class AbstractTreeMenuItem<T extends Object> extends
- AbstractTreeMenu<T> {
-
- private final List<AbstractTreeItem<T>> items;
-
- /**
- * Constructor.
- */
- public AbstractTreeMenuItem() {
- super();
- this.items = new LinkedList<AbstractTreeItem<T>>();
- }
-
- /**
- * This method creates the associated item and set the extra properties to
- * it.
- */
- @Override
- public T onMenuItemSelection() {
- AbstractTreeItem<T> item = null;
- if (getCurrentItemSelected() == null) {
- item = createItem(getTree());
- } else {
- item = createItem(getCurrentItemSelected());
- }
- this.getItems().add(item);
- item.setExtraProperties(getProperties());
- fireChanged();
- return item.onItemCreation();
- }
-
- /**
- * Create a new item {@link TreeItem} into the parent.
- *
- * @param parent
- * the parent of the item to create.
- */
- public AbstractTreeItem<T> createItem(final Tree parent) {
- return createTreeItem(parent);
- }
-
- /**
- * Create a new item {@link TreeItem} into the parent.
- *
- * @param parent
- * the parent of the item to create.
- */
- public AbstractTreeItem<T> createItem(final TreeItem parent) {
- return createTreeItem(parent);
- }
-
- /**
- * Create a new item {@link TreeItem} into the parent.
- *
- * @param parent
- * the parent of the item to create.
- */
- protected AbstractTreeItem<T> createTreeItem(final Object parent) {
- AbstractTreeItem<T> newTreeItem = null;
- try {
- newTreeItem = getAssociatedTreeItemClass().newInstance();
- if (parent instanceof Tree) {
- newTreeItem.createItem(this, (Tree) parent);
- } else if (parent instanceof TreeItem) {
- newTreeItem.createItem(this, (TreeItem) parent);
- }
- } catch (final SecurityException e) {
- Logger.logError(e, Activator.getDefault());
- } catch (final IllegalArgumentException e) {
- Logger.logError(e, Activator.getDefault());
- } catch (final InstantiationException e) {
- Logger.logError(e, Activator.getDefault());
- } catch (final IllegalAccessException e) {
- Logger.logError(e, Activator.getDefault());
- }
-
- return newTreeItem;
- }
-
- /**
- * Find the treeItem searching into the all tree.
- *
- * @param treeItem
- * the treeItem to find.
- * @return the corresponding {@link AbstractTreeItem}. Null if not.
- */
- public AbstractTreeItem<T> findTreeItemExtended(final TreeItem treeItem) {
- return this.getTreeMenu().getTreeItemExtended(treeItem);
- }
-
- /**
- * This method only find the item into the corresponding element of this
- * menu item. To find an element searching it into the all tree, use the
- * method {@link #findTreeItemExtended(TreeItem)}.
- */
- @Override
- public AbstractTreeItem<T> getTreeItemExtended(final TreeItem item) {
- AbstractTreeItem<T> result = null;
- for (final AbstractTreeItem<T> itemExtended : this.getItems()) {
- if (itemExtended.getTreeItem().equals(item)) {
- result = itemExtended;
- break;
- }
- }
- return result;
- }
-
- @Override
- public boolean removeItem(final TreeItem item) {
- boolean removed = false;
- final AbstractTreeItem<T> itemExtended = findTreeItemExtended(item);
- if (itemExtended != null) {
- this.getItems().remove(itemExtended);
- itemExtended.removeItem();
- removed = true;
- fireChanged();
- }
- return removed;
- }
-
- /**
- * @return get the current selection of the tree.
- */
- public TreeItem getCurrentItemSelected() {
- return getTreeMenu().getCurrentItemSelected();
- }
-
- /**
- * Remove the last item created.
- */
- protected void removeLastItem() {
- // The list created is a LinkedList<AbstractTreeItem>
- ((LinkedList<AbstractTreeItem<T>>) this.getItems()).getLast()
- .removeItem();
- fireChanged();
- }
-
- /**
- * Set a new text to the last item created.
- *
- * @param newText
- * the new text to set.
- */
- protected void setLastItemText(final String newText) {
- // The list created is a LinkedList<AbstractTreeItem>
- ((LinkedList<AbstractTreeItem<T>>) this.getItems()).getLast()
- .setTreeItemText(newText);
- fireChanged();
- }
-
- /**
- * When a modification append, this method has to be called and the method {@link #notifyChanged()} is called for the listener of this Tree.
- */
- public void fireChanged() {
- final ExtendedTreeMenu<T> treeMenu = getTreeMenu();
- if (treeMenu != null) {
- treeMenu.fireChanged();
- }
- }
-
- /**
- * Return the class associated with this menu item. When this menu item will
- * be selected, a new instance of this associated {@link AbstractTreeItem} will be created.
- *
- * @return the associated class.
- */
- public abstract Class<? extends AbstractTreeItem<T>> getAssociatedTreeItemClass();
-
-
- /**
- * @return the items created by this menu item.
- */
- public List<AbstractTreeItem<T>> getItems() {
- return this.items;
- }
-}
+/**
+ * Copyright (c) 2012 Mia-Software.
+ *
+ * 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:
+ * Alban Ménager (Soft-Maint) - Bug 387470 - [EFacet][Custom] Editors
+ */
+package org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.tree.menu;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.eclipse.papyrus.emf.facet.util.core.Logger;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.Activator;
+import org.eclipse.papyrus.emf.facet.util.ui.internal.exported.util.tree.item.AbstractTreeItem;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
+
+/**
+ * Abstract class for the tree menu item. Each Menu Item had an handler which
+ * provide the methods: <li>{@link #isEnabled()} : return if the menu item has to be displayed.</li> <li>{@link #onMenuItemSelection()} : this method will be execute when the item is selected.</li> <li>
+ * {@link #getAssociatedTreeItemClass()} : links this class with an {@link AbstractTreeItem}. This item will be instantiate when the user select this element on the tree menu.</li>
+ *
+ * @see AbstractTreeItem
+ * @see AbstractTreeMenu
+ * @since 0.3
+ */
+public abstract class AbstractTreeMenuItem<T extends Object> extends
+ AbstractTreeMenu<T> {
+
+ private final List<AbstractTreeItem<T>> items;
+
+ /**
+ * Constructor.
+ */
+ public AbstractTreeMenuItem() {
+ super();
+ this.items = new LinkedList<AbstractTreeItem<T>>();
+ }
+
+ /**
+ * This method creates the associated item and set the extra properties to
+ * it.
+ */
+ @Override
+ public T onMenuItemSelection() {
+ AbstractTreeItem<T> item = null;
+ if (getCurrentItemSelected() == null) {
+ item = createItem(getTree());
+ } else {
+ item = createItem(getCurrentItemSelected());
+ }
+ this.getItems().add(item);
+ item.setExtraProperties(getProperties());
+ fireChanged();
+ return item.onItemCreation();
+ }
+
+ /**
+ * Create a new item {@link TreeItem} into the parent.
+ *
+ * @param parent
+ * the parent of the item to create.
+ */
+ public AbstractTreeItem<T> createItem(final Tree parent) {
+ return createTreeItem(parent);
+ }
+
+ /**
+ * Create a new item {@link TreeItem} into the parent.
+ *
+ * @param parent
+ * the parent of the item to create.
+ */
+ public AbstractTreeItem<T> createItem(final TreeItem parent) {
+ return createTreeItem(parent);
+ }
+
+ /**
+ * Create a new item {@link TreeItem} into the parent.
+ *
+ * @param parent
+ * the parent of the item to create.
+ */
+ protected AbstractTreeItem<T> createTreeItem(final Object parent) {
+ AbstractTreeItem<T> newTreeItem = null;
+ try {
+ newTreeItem = getAssociatedTreeItemClass().newInstance();
+ if (parent instanceof Tree) {
+ newTreeItem.createItem(this, (Tree) parent);
+ } else if (parent instanceof TreeItem) {
+ newTreeItem.createItem(this, (TreeItem) parent);
+ }
+ } catch (final SecurityException e) {
+ Logger.logError(e, Activator.getDefault());
+ } catch (final IllegalArgumentException e) {
+ Logger.logError(e, Activator.getDefault());
+ } catch (final InstantiationException e) {
+ Logger.logError(e, Activator.getDefault());
+ } catch (final IllegalAccessException e) {
+ Logger.logError(e, Activator.getDefault());
+ }
+
+ return newTreeItem;
+ }
+
+ /**
+ * Find the treeItem searching into the all tree.
+ *
+ * @param treeItem
+ * the treeItem to find.
+ * @return the corresponding {@link AbstractTreeItem}. Null if not.
+ */
+ public AbstractTreeItem<T> findTreeItemExtended(final TreeItem treeItem) {
+ return this.getTreeMenu().getTreeItemExtended(treeItem);
+ }
+
+ /**
+ * This method only find the item into the corresponding element of this
+ * menu item. To find an element searching it into the all tree, use the
+ * method {@link #findTreeItemExtended(TreeItem)}.
+ */
+ @Override
+ public AbstractTreeItem<T> getTreeItemExtended(final TreeItem item) {
+ AbstractTreeItem<T> result = null;
+ for (final AbstractTreeItem<T> itemExtended : this.getItems()) {
+ if (itemExtended.getTreeItem().equals(item)) {
+ result = itemExtended;
+ break;
+ }
+ }
+ return result;
+ }
+
+ @Override
+ public boolean removeItem(final TreeItem item) {
+ boolean removed = false;
+ final AbstractTreeItem<T> itemExtended = findTreeItemExtended(item);
+ if (itemExtended != null) {
+ this.getItems().remove(itemExtended);
+ itemExtended.removeItem();
+ removed = true;
+ fireChanged();
+ }
+ return removed;
+ }
+
+ /**
+ * @return get the current selection of the tree.
+ */
+ public TreeItem getCurrentItemSelected() {
+ return getTreeMenu().getCurrentItemSelected();
+ }
+
+ /**
+ * Remove the last item created.
+ */
+ protected void removeLastItem() {
+ // The list created is a LinkedList<AbstractTreeItem>
+ ((LinkedList<AbstractTreeItem<T>>) this.getItems()).getLast()
+ .removeItem();
+ fireChanged();
+ }
+
+ /**
+ * Set a new text to the last item created.
+ *
+ * @param newText
+ * the new text to set.
+ */
+ protected void setLastItemText(final String newText) {
+ // The list created is a LinkedList<AbstractTreeItem>
+ ((LinkedList<AbstractTreeItem<T>>) this.getItems()).getLast()
+ .setTreeItemText(newText);
+ fireChanged();
+ }
+
+ /**
+ * When a modification append, this method has to be called and the method {@link #notifyChanged()} is called for the listener of this Tree.
+ */
+ public void fireChanged() {
+ final ExtendedTreeMenu<T> treeMenu = getTreeMenu();
+ if (treeMenu != null) {
+ treeMenu.fireChanged();
+ }
+ }
+
+ /**
+ * Return the class associated with this menu item. When this menu item will
+ * be selected, a new instance of this associated {@link AbstractTreeItem} will be created.
+ *
+ * @return the associated class.
+ */
+ public abstract Class<? extends AbstractTreeItem<T>> getAssociatedTreeItemClass();
+
+
+ /**
+ * @return the items created by this menu item.
+ */
+ public List<AbstractTreeItem<T>> getItems() {
+ return this.items;
+ }
+}

Back to the top