<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         point="org.eclipse.ui.startup">
      <startup
            class="org.eclipse.emf.refactor.smells.papyrus.PapyrusStartup">
      </startup>
   </extension>

   <extension
         id="org.eclipse.emf.refactor.qa.menu"
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="true"
            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
         <menu
               id="org.eclipse.emf.refactor.runtime.menu"
               label="EMF Quality Assurance (use existing techniques)">
            <command
                  commandId="org.eclipse.emf.refactor.smells.papyrus.findModelSmellCommand"
                  icon="icons/modelsmell.PNG"
                  label="Find Configured Model Smells"
                  style="push">
               <visibleWhen
                     checkEnabled="true">
                  <iterate
                        ifEmpty="false">
                     <or>
                        <instanceof
                              value="org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart">
                        </instanceof>
                        <instanceof
                              value="org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem">
                        </instanceof>
                     </or>
                  </iterate>
               </visibleWhen>
            </command>
         </menu>
      </menuContribution>
   </extension>

   <extension
         point="org.eclipse.ui.commands">
      <command
            id="org.eclipse.emf.refactor.smells.papyrus.findModelSmellCommand"
            name="FindModelSmellCommand">
      </command>
   </extension>

   <extension
         point="org.eclipse.ui.handlers">
      <handler
            class="org.eclipse.emf.refactor.smells.papyrus.handler.FindModelSmellHandler"
            commandId="org.eclipse.emf.refactor.smells.papyrus.findModelSmellCommand">
      </handler>
   </extension>
   <extension
         point="org.eclipse.gmf.runtime.diagram.ui.decoratorProviders">
      <decoratorProvider
            class="org.eclipse.emf.refactor.smells.papyrus.ui.PapyrusDecoratorProvider">
         <Priority
               name="Lowest">
         </Priority>
         <object
               class="org.eclipse.gmf.runtime.notation.View(org.eclipse.gmf.runtime.notation)"
               id="NODE">
         </object>
         <context
               decoratorTargets="NODE">
         </context>
      </decoratorProvider>
   </extension>

</plugin>
