Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/TranslationItemProvider.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/TranslationItemProvider.java?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/TranslationItemProvider.java
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/TranslationItemProvider.java
 Tue May 18 15:13:13 2010
@@ -1,19 +1,6 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *    http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
+ * <copyright>
+ * </copyright>
  *
  * $Id$
  */
@@ -23,7 +10,7 @@ package org.apache.commons.scxml.modelin
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.scxml.modeling.ScxmlPackage;
+import org.apache.commons.scxml.modeling.ModelingPackage;
 import org.apache.commons.scxml.modeling.Translation;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
@@ -98,7 +85,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 
getString("_UI_Translation_targetStatus_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Translation_targetStatus_feature", "_UI_Translation_type"),
-                                
ScxmlPackage.Literals.TRANSLATION__TARGET_STATUS,
+                                
ModelingPackage.Literals.TRANSLATION__TARGET_STATUS,
                                 true,
                                 false,
                                 true,
@@ -120,7 +107,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 
getString("_UI_Translation_sourceStatus_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Translation_sourceStatus_feature", "_UI_Translation_type"),
-                                
ScxmlPackage.Literals.TRANSLATION__SOURCE_STATUS,
+                                
ModelingPackage.Literals.TRANSLATION__SOURCE_STATUS,
                                 true,
                                 false,
                                 true,
@@ -142,7 +129,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Translation_event_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Translation_event_feature", "_UI_Translation_type"),
-                                ScxmlPackage.Literals.TRANSLATION__EVENT,
+                                ModelingPackage.Literals.TRANSLATION__EVENT,
                                 true,
                                 false,
                                 false,
@@ -164,7 +151,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Translation_cond_feature"),
                                 
getString("_UI_PropertyDescriptor_description", "_UI_Translation_cond_feature", 
"_UI_Translation_type"),
-                                ScxmlPackage.Literals.TRANSLATION__COND,
+                                ModelingPackage.Literals.TRANSLATION__COND,
                                 true,
                                 false,
                                 false,
@@ -186,7 +173,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Translation_target_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Translation_target_feature", "_UI_Translation_type"),
-                                ScxmlPackage.Literals.TRANSLATION__TARGET,
+                                ModelingPackage.Literals.TRANSLATION__TARGET,
                                 true,
                                 false,
                                 false,
@@ -208,7 +195,7 @@ public class TranslationItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Translation_anchor_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Translation_anchor_feature", "_UI_Translation_type"),
-                                ScxmlPackage.Literals.TRANSLATION__ANCHOR,
+                                ModelingPackage.Literals.TRANSLATION__ANCHOR,
                                 true,
                                 false,
                                 false,
@@ -251,10 +238,10 @@ public class TranslationItemProvider
                updateChildren(notification);
 
                switch (notification.getFeatureID(Translation.class)) {
-                       case ScxmlPackage.TRANSLATION__EVENT:
-                       case ScxmlPackage.TRANSLATION__COND:
-                       case ScxmlPackage.TRANSLATION__TARGET:
-                       case ScxmlPackage.TRANSLATION__ANCHOR:
+                       case ModelingPackage.TRANSLATION__EVENT:
+                       case ModelingPackage.TRANSLATION__COND:
+                       case ModelingPackage.TRANSLATION__TARGET:
+                       case ModelingPackage.TRANSLATION__ANCHOR:
                                fireNotifyChanged(new 
ViewerNotification(notification, notification.getNotifier(), false, true));
                                return;
                }
@@ -279,7 +266,7 @@ public class TranslationItemProvider
         * @generated
         */
        public ResourceLocator getResourceLocator() {
-               return ScxmlEditPlugin.INSTANCE;
+               return ModelingEditPlugin.INSTANCE;
        }
 
 }

Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/ValidateItemProvider.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/ValidateItemProvider.java?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/ValidateItemProvider.java
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.edit/src/org/apache/commons/scxml/modeling/provider/ValidateItemProvider.java
 Tue May 18 15:13:13 2010
@@ -1,19 +1,6 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *    http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
+ * <copyright>
+ * </copyright>
  *
  * $Id$
  */
@@ -23,7 +10,7 @@ package org.apache.commons.scxml.modelin
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.scxml.modeling.ScxmlPackage;
+import org.apache.commons.scxml.modeling.ModelingPackage;
 import org.apache.commons.scxml.modeling.Validate;
 
 import org.eclipse.emf.common.notify.AdapterFactory;
@@ -91,7 +78,7 @@ public class ValidateItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Validate_location_feature"),
                                 
getString("_UI_PropertyDescriptor_description", 
"_UI_Validate_location_feature", "_UI_Validate_type"),
-                                ScxmlPackage.Literals.VALIDATE__LOCATION,
+                                ModelingPackage.Literals.VALIDATE__LOCATION,
                                 true,
                                 false,
                                 false,
@@ -113,7 +100,7 @@ public class ValidateItemProvider
                                 getResourceLocator(),
                                 getString("_UI_Validate_schema_feature"),
                                 
getString("_UI_PropertyDescriptor_description", "_UI_Validate_schema_feature", 
"_UI_Validate_type"),
-                                ScxmlPackage.Literals.VALIDATE__SCHEMA,
+                                ModelingPackage.Literals.VALIDATE__SCHEMA,
                                 true,
                                 false,
                                 false,
@@ -156,8 +143,8 @@ public class ValidateItemProvider
                updateChildren(notification);
 
                switch (notification.getFeatureID(Validate.class)) {
-                       case ScxmlPackage.VALIDATE__LOCATION:
-                       case ScxmlPackage.VALIDATE__SCHEMA:
+                       case ModelingPackage.VALIDATE__LOCATION:
+                       case ModelingPackage.VALIDATE__SCHEMA:
                                fireNotifyChanged(new 
ViewerNotification(notification, notification.getNotifier(), false, true));
                                return;
                }

Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/META-INF/MANIFEST.MF
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/META-INF/MANIFEST.MF?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/META-INF/MANIFEST.MF
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/META-INF/MANIFEST.MF
 Tue May 18 15:13:13 2010
@@ -4,7 +4,7 @@ Bundle-Name: %pluginName
 Bundle-SymbolicName: org.apache.commons.scxml.modeling.editor;singleton:=true
 Bundle-Version: 1.0.0
 Bundle-ClassPath: .
-Bundle-Activator: 
org.apache.commons.scxml.modeling.presentation.ScxmlEditorPlugin$Implementation
+Bundle-Activator: 
org.apache.commons.scxml.modeling.presentation.ModelingEditorPlugin$Implementation
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
 Export-Package: org.apache.commons.scxml.modeling.presentation

Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/build.properties
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/build.properties?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/build.properties
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/build.properties
 Tue May 18 15:13:13 2010
@@ -1,18 +1,6 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-# 
-#    http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# 
+
+# <copyright>
+# </copyright>
 #
 # $Id$
 

Added: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/obj16/ModelingModelFile.gif
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/obj16/ModelingModelFile.gif?rev=945691&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/obj16/ModelingModelFile.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Added: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/wizban/NewModeling.gif
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/wizban/NewModeling.gif?rev=945691&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/icons/full/wizban/NewModeling.gif
------------------------------------------------------------------------------
    svn:mime-type = image/gif

Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.properties
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.properties?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.properties
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.properties
 Tue May 18 15:13:13 2010
@@ -1,25 +1,13 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-# 
-#    http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# 
+
+# <copyright>
+# </copyright>
 #
 # $Id$
 
-pluginName = Scxml Editor
+pluginName = Modeling Editor
 providerName = www.example.org
 
-_UI_ScxmlEditor_menu = &Scxml Editor
+_UI_ModelingEditor_menu = &Modeling Editor
 
 _UI_CreateChild_menu_item = &New Child
 _UI_CreateSibling_menu_item = N&ew Sibling
@@ -46,13 +34,13 @@ _UI_Wizard_category = Example EMF Model 
 
 _UI_CreateModelError_message = Problems encountered in file "{0}"
 
-_UI_ScxmlModelWizard_label = Scxml Model
-_UI_ScxmlModelWizard_description = Create a new Scxml model
+_UI_ModelingModelWizard_label = Modeling Model
+_UI_ModelingModelWizard_description = Create a new Modeling model
 
-_UI_ScxmlEditor_label = Scxml Model Editor
+_UI_ModelingEditor_label = Modeling Model Editor
 
-_UI_ScxmlEditorFilenameDefaultBase = My
-_UI_ScxmlEditorFilenameExtensions = scxml
+_UI_ModelingEditorFilenameDefaultBase = My
+_UI_ModelingEditorFilenameExtensions = modeling
 
 _UI_Wizard_label = New
 

Modified: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.xml
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.xml?rev=945691&r1=945690&r2=945691&view=diff
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.xml
 (original)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/plugin.xml
 Tue May 18 15:13:13 2010
@@ -2,21 +2,8 @@
 <?eclipse version="3.0"?>
 
 <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
- 
-    http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- 
+ <copyright>
+ </copyright>
 
  $Id$
 -->
@@ -28,24 +15,24 @@
             id="org.eclipse.emf.ecore.Wizard.category.ID"
             name="%_UI_Wizard_category"/>
       <wizard
-            id="org.apache.commons.scxml.presentation.ScxmlModelWizardID"
-            name="%_UI_ScxmlModelWizard_label"
-            
class="org.apache.commons.scxml.modeling.presentation.ScxmlModelWizard"
+            
id="org.apache.commons.scxml.modeling.presentation.ModelingModelWizardID"
+            name="%_UI_ModelingModelWizard_label"
+            
class="org.apache.commons.scxml.modeling.presentation.ModelingModelWizard"
             category="org.eclipse.emf.ecore.Wizard.category.ID"
-            icon="icons/full/obj16/ScxmlModelFile.gif">
-         <description>%_UI_ScxmlModelWizard_description</description>
+            icon="icons/full/obj16/ModelingModelFile.gif">
+         <description>%_UI_ModelingModelWizard_description</description>
          <selection class="org.eclipse.core.resources.IResource"/>
       </wizard>
    </extension>
 
    <extension point="org.eclipse.ui.editors">
       <editor
-            id="org.apache.commons.scxml.presentation.ScxmlEditorID"
-            name="%_UI_ScxmlEditor_label"
-            icon="icons/full/obj16/ScxmlModelFile.gif"
-            extensions="scxml"
-            class="org.apache.commons.scxml.modeling.presentation.ScxmlEditor"
-            
contributorClass="org.apache.commons.scxml.modeling.presentation.ScxmlActionBarContributor">
+            
id="org.apache.commons.scxml.modeling.presentation.ModelingEditorID"
+            name="%_UI_ModelingEditor_label"
+            icon="icons/full/obj16/ModelingModelFile.gif"
+            extensions="modeling"
+            
class="org.apache.commons.scxml.modeling.presentation.ModelingEditor"
+            
contributorClass="org.apache.commons.scxml.modeling.presentation.ModelingActionBarContributor">
       </editor>
    </extension>
 

Added: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/src/org/apache/commons/scxml/modeling/presentation/ModelingActionBarContributor.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/src/org/apache/commons/scxml/modeling/presentation/ModelingActionBarContributor.java?rev=945691&view=auto
==============================================================================
--- 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/src/org/apache/commons/scxml/modeling/presentation/ModelingActionBarContributor.java
 (added)
+++ 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/src/org/apache/commons/scxml/modeling/presentation/ModelingActionBarContributor.java
 Tue May 18 15:13:13 2010
@@ -0,0 +1,420 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.apache.commons.scxml.modeling.presentation;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.eclipse.emf.common.ui.viewer.IViewerProvider;
+
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.emf.edit.domain.IEditingDomainProvider;
+
+import org.eclipse.emf.edit.ui.action.ControlAction;
+import org.eclipse.emf.edit.ui.action.CreateChildAction;
+import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
+import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
+import org.eclipse.emf.edit.ui.action.LoadResourceAction;
+import org.eclipse.emf.edit.ui.action.ValidateAction;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
+import org.eclipse.jface.action.IContributionManager;
+import org.eclipse.jface.action.IMenuListener;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.MenuManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.action.SubContributionItem;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ISelectionProvider;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.Viewer;
+
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+
+/**
+ * This is the action bar contributor for the Modeling model editor.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelingActionBarContributor
+       extends EditingDomainActionBarContributor
+       implements ISelectionChangedListener {
+       /**
+        * This keeps track of the active editor.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected IEditorPart activeEditorPart;
+
+       /**
+        * This keeps track of the current selection provider.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected ISelectionProvider selectionProvider;
+
+       /**
+        * This action opens the Properties view.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected IAction showPropertiesViewAction =
+               new 
Action(ModelingEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item"))
 {
+                       public void run() {
+                               try {
+                                       
getPage().showView("org.eclipse.ui.views.PropertySheet");
+                               }
+                               catch (PartInitException exception) {
+                                       
ModelingEditorPlugin.INSTANCE.log(exception);
+                               }
+                       }
+               };
+
+       /**
+        * This action refreshes the viewer of the current editor if the editor
+        * implements {...@link 
org.eclipse.emf.common.ui.viewer.IViewerProvider}.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected IAction refreshViewerAction =
+               new 
Action(ModelingEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
+                       public boolean isEnabled() {
+                               return activeEditorPart instanceof 
IViewerProvider;
+                       }
+
+                       public void run() {
+                               if (activeEditorPart instanceof 
IViewerProvider) {
+                                       Viewer viewer = 
((IViewerProvider)activeEditorPart).getViewer();
+                                       if (viewer != null) {
+                                               viewer.refresh();
+                                       }
+                               }
+                       }
+               };
+
+       /**
+        * This will contain one {...@link 
org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each 
descriptor
+        * generated for the current selection by the item provider.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected Collection createChildActions;
+
+       /**
+        * This is the menu manager into which menu contribution items should 
be added for CreateChild actions.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected IMenuManager createChildMenuManager;
+
+       /**
+        * This will contain one {...@link 
org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each 
descriptor
+        * generated for the current selection by the item provider.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected Collection createSiblingActions;
+
+       /**
+        * This is the menu manager into which menu contribution items should 
be added for CreateSibling actions.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected IMenuManager createSiblingMenuManager;
+
+       /**
+        * This creates an instance of the contributor.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public ModelingActionBarContributor() {
+               super(ADDITIONS_LAST_STYLE);
+               loadResourceAction = new LoadResourceAction();
+               validateAction = new ValidateAction();
+               controlAction = new ControlAction();
+       }
+
+       /**
+        * This adds Separators for editor additions to the tool bar.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public void contributeToToolBar(IToolBarManager toolBarManager) {
+               toolBarManager.add(new Separator("modeling-settings"));
+               toolBarManager.add(new Separator("modeling-additions"));
+       }
+
+       /**
+        * This adds to the menu bar a menu and some separators for editor 
additions,
+        * as well as the sub-menus for object creation items.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public void contributeToMenu(IMenuManager menuManager) {
+               super.contributeToMenu(menuManager);
+
+               IMenuManager submenuManager = new 
MenuManager(ModelingEditorPlugin.INSTANCE.getString("_UI_ModelingEditor_menu"), 
"org.apache.commons.scxml.modelingMenuID");
+               menuManager.insertAfter("additions", submenuManager);
+               submenuManager.add(new Separator("settings"));
+               submenuManager.add(new Separator("actions"));
+               submenuManager.add(new Separator("additions"));
+               submenuManager.add(new Separator("additions-end"));
+
+               // Prepare for CreateChild item addition or removal.
+               //
+               createChildMenuManager = new 
MenuManager(ModelingEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+               submenuManager.insertBefore("additions", 
createChildMenuManager);
+
+               // Prepare for CreateSibling item addition or removal.
+               //
+               createSiblingMenuManager = new 
MenuManager(ModelingEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+               submenuManager.insertBefore("additions", 
createSiblingMenuManager);
+
+               // Force an update because Eclipse hides empty menus now.
+               //
+               submenuManager.addMenuListener
+                       (new IMenuListener() {
+                                public void menuAboutToShow(IMenuManager 
menuManager) {
+                                        menuManager.updateAll(true);
+                                }
+                        });
+
+               addGlobalActions(submenuManager);
+       }
+
+       /**
+        * When the active editor changes, this remembers the change and 
registers with it as a selection provider.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public void setActiveEditor(IEditorPart part) {
+               super.setActiveEditor(part);
+               activeEditorPart = part;
+
+               // Switch to the new selection provider.
+               //
+               if (selectionProvider != null) {
+                       selectionProvider.removeSelectionChangedListener(this);
+               }
+               if (part == null) {
+                       selectionProvider = null;
+               }
+               else {
+                       selectionProvider = 
part.getSite().getSelectionProvider();
+                       selectionProvider.addSelectionChangedListener(this);
+
+                       // Fake a selection changed event to update the menus.
+                       //
+                       if (selectionProvider.getSelection() != null) {
+                               selectionChanged(new 
SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
+                       }
+               }
+       }
+
+       /**
+        * This implements {...@link 
org.eclipse.jface.viewers.ISelectionChangedListener},
+        * handling {...@link org.eclipse.jface.viewers.SelectionChangedEvent}s 
by querying for the children and siblings
+        * that can be added to the selected object and updating the menus 
accordingly.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public void selectionChanged(SelectionChangedEvent event) {
+               // Remove any menu items for old selection.
+               //
+               if (createChildMenuManager != null) {
+                       depopulateManager(createChildMenuManager, 
createChildActions);
+               }
+               if (createSiblingMenuManager != null) {
+                       depopulateManager(createSiblingMenuManager, 
createSiblingActions);
+               }
+
+               // Query the new selection for appropriate new child/sibling 
descriptors
+               //
+               Collection newChildDescriptors = null;
+               Collection newSiblingDescriptors = null;
+
+               ISelection selection = event.getSelection();
+               if (selection instanceof IStructuredSelection && 
((IStructuredSelection)selection).size() == 1) {
+                       Object object = 
((IStructuredSelection)selection).getFirstElement();
+
+                       EditingDomain domain = 
((IEditingDomainProvider)activeEditorPart).getEditingDomain();
+
+                       newChildDescriptors = 
domain.getNewChildDescriptors(object, null);
+                       newSiblingDescriptors = 
domain.getNewChildDescriptors(null, object);
+               }
+
+               // Generate actions for selection; populate and redraw the 
menus.
+               //
+               createChildActions = 
generateCreateChildActions(newChildDescriptors, selection);
+               createSiblingActions = 
generateCreateSiblingActions(newSiblingDescriptors, selection);
+
+               if (createChildMenuManager != null) {
+                       populateManager(createChildMenuManager, 
createChildActions, null);
+                       createChildMenuManager.update(true);
+               }
+               if (createSiblingMenuManager != null) {
+                       populateManager(createSiblingMenuManager, 
createSiblingActions, null);
+                       createSiblingMenuManager.update(true);
+               }
+       }
+
+       /**
+        * This generates a {...@link 
org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in 
<code>descriptors</code>,
+        * and returns the collection of these actions.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected Collection generateCreateChildActions(Collection descriptors, 
ISelection selection) {
+               Collection actions = new ArrayList();
+               if (descriptors != null) {
+                       for (Iterator i = descriptors.iterator(); i.hasNext(); 
) {
+                               actions.add(new 
CreateChildAction(activeEditorPart, selection, i.next()));
+                       }
+               }
+               return actions;
+       }
+
+       /**
+        * This generates a {...@link 
org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in 
<code>descriptors</code>,
+        * and returns the collection of these actions.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected Collection generateCreateSiblingActions(Collection 
descriptors, ISelection selection) {
+               Collection actions = new ArrayList();
+               if (descriptors != null) {
+                       for (Iterator i = descriptors.iterator(); i.hasNext(); 
) {
+                               actions.add(new 
CreateSiblingAction(activeEditorPart, selection, i.next()));
+                       }
+               }
+               return actions;
+       }
+
+       /**
+        * This populates the specified <code>manager</code> with {...@link 
org.eclipse.jface.action.ActionContributionItem}s
+        * based on the {...@link org.eclipse.jface.action.IAction}s contained 
in the <code>actions</code> collection,
+        * by inserting them before the specified contribution item 
<code>contributionID</code>.
+        * If <code>contributionID</code> is <code>null</code>, they are simply 
added.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected void populateManager(IContributionManager manager, Collection 
actions, String contributionID) {
+               if (actions != null) {
+                       for (Iterator i = actions.iterator(); i.hasNext(); ) {
+                               IAction action = (IAction)i.next();
+                               if (contributionID != null) {
+                                       manager.insertBefore(contributionID, 
action);
+                               }
+                               else {
+                                       manager.add(action);
+                               }
+                       }
+               }
+       }
+               
+       /**
+        * This removes from the specified <code>manager</code> all {...@link 
org.eclipse.jface.action.ActionContributionItem}s
+        * based on the {...@link org.eclipse.jface.action.IAction}s contained 
in the <code>actions</code> collection.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected void depopulateManager(IContributionManager manager, 
Collection actions) {
+               if (actions != null) {
+                       IContributionItem[] items = manager.getItems();
+                       for (int i = 0; i < items.length; i++) {
+                               // Look into SubContributionItems
+                               //
+                               IContributionItem contributionItem = items[i];
+                               while (contributionItem instanceof 
SubContributionItem) {
+                                       contributionItem = 
((SubContributionItem)contributionItem).getInnerItem();
+                               }
+
+                               // Delete the ActionContributionItems with 
matching action.
+                               //
+                               if (contributionItem instanceof 
ActionContributionItem) {
+                                       IAction action = 
((ActionContributionItem)contributionItem).getAction();
+                                       if (actions.contains(action)) {
+                                               
manager.remove(contributionItem);
+                                       }
+                               }
+                       }
+               }
+       }
+
+       /**
+        * This populates the pop-up menu before it appears.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       public void menuAboutToShow(IMenuManager menuManager) {
+               super.menuAboutToShow(menuManager);
+               MenuManager submenuManager = null;
+
+               submenuManager = new 
MenuManager(ModelingEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
+               populateManager(submenuManager, createChildActions, null);
+               menuManager.insertBefore("edit", submenuManager);
+
+               submenuManager = new 
MenuManager(ModelingEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
+               populateManager(submenuManager, createSiblingActions, null);
+               menuManager.insertBefore("edit", submenuManager);
+       }
+
+       /**
+        * This inserts global actions before the "additions-end" separator.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected void addGlobalActions(IMenuManager menuManager) {
+               menuManager.insertAfter("additions-end", new 
Separator("ui-actions"));
+               menuManager.insertAfter("ui-actions", showPropertiesViewAction);
+
+               
refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());                
+               menuManager.insertAfter("ui-actions", refreshViewerAction);
+
+               super.addGlobalActions(menuManager);
+       }
+
+       /**
+        * This ensures that a delete action will clean up all references to 
deleted objects.
+        * <!-- begin-user-doc -->
+        * <!-- end-user-doc -->
+        * @generated
+        */
+       protected boolean removeAllReferencesOnDelete() {
+               return true;
+       }
+
+}
\ No newline at end of file

Propchange: 
commons/sandbox/gsoc/2010/scxml-eclipse/trunk/src/main/java/org.apache.commons.scxml.editor/src/org/apache/commons/scxml/modeling/presentation/ModelingActionBarContributor.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to