You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2007/08/01 16:52:03 UTC

svn commit: r561817 [1/2] - in /directory/studio/trunk/studio-apacheds-schemaeditor: ./ src/main/java/org/apache/directory/studio/apacheds/schemaeditor/ src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ src/main/java/org/apach...

Author: pamarcelot
Date: Wed Aug  1 07:51:59 2007
New Revision: 561817

URL: http://svn.apache.org/viewvc?view=rev&rev=561817
Log:
Added the Hierarchy View with its preference page, actions, etc.
Added quick link access on the text of the actions.

Added:
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/HierarchyViewController.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorHierarchyViewAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorSchemaViewAction.java
      - copied, changed from r561687, directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenHierarchyViewPreferencesAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenTypeHierarchyAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSubtypeHierarchyAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSupertypeHierarchyAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/preferences/HierarchyViewPreferencePage.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/HierarchyView.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/HierarchyViewContentProvider.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/views/HierarchyViewLabelProvider.java
Removed:
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorAction.java
Modified:
    directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PluginConstants.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PreferenceInitializer.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/CloseProjectAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteProjectAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewProjectAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewSchemaAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenElementAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenProjectAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewPreferenceAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewSortingDialogAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/RenameProjectAction.java
    directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/plugin.xml Wed Aug  1 07:51:59 2007
@@ -42,6 +42,13 @@
 	  <view
             allowMultiple="false"
             category="org.apache.directory.studio.apacheds.schemaeditor.view.category"
+            class="org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView"
+            icon="resources/icons/hierarchy_view.gif"
+            id="org.apache.directory.studio.apacheds.schemaeditor.view.HierarchyView"
+            name="Hierarchy"/>
+	  <view
+            allowMultiple="false"
+            category="org.apache.directory.studio.apacheds.schemaeditor.view.category"
             class="org.apache.directory.studio.apacheds.schemaeditor.view.views.ProblemsView"
             icon="resources/icons/problems_view.gif"
             id="org.apache.directory.studio.apacheds.schemaeditor.view.ProblemsView"
@@ -191,6 +198,11 @@
             class="org.apache.directory.studio.apacheds.schemaeditor.view.preferences.SchemaViewPreferencePage"
             id="org.apache.directory.studio.apacheds.schemaeditor.preferences.schemaView"
             name="Schema View"/>
+      <page
+      		category="org.apache.directory.studio.apacheds.schemaeditor.preferences.plugin"
+            class="org.apache.directory.studio.apacheds.schemaeditor.view.preferences.HierarchyViewPreferencePage"
+            id="org.apache.directory.studio.apacheds.schemaeditor.preferences.hierarchyView"
+            name="Hierarchy View"/>
    </extension>
     <extension
           point="org.eclipse.ui.decorators">

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PluginConstants.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PluginConstants.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PluginConstants.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PluginConstants.java Wed Aug  1 07:51:59 2007
@@ -20,6 +20,7 @@
 package org.apache.directory.studio.apacheds.schemaeditor;
 
 
+import org.apache.directory.studio.apacheds.schemaeditor.view.preferences.HierarchyViewPreferencePage;
 import org.apache.directory.studio.apacheds.schemaeditor.view.preferences.SchemaViewPreferencePage;
 
 
@@ -91,6 +92,8 @@
     public static final String IMG_SCHEMAS_EXPORT_WIZARD = "resources/icons/schemas_export_wizard.png";
     public static final String IMG_SCHEMAS_IMPORT = "resources/icons/schemas_import.gif";
     public static final String IMG_SCHEMAS_IMPORT_WIZARD = "resources/icons/schemas_import_wizard.png";
+    public static final String IMG_SHOW_SUBTYPE_HIERARCHY = "resources/icons/hierarchy_subtype.gif";
+    public static final String IMG_SHOW_SUPERTYPE_HIERARCHY = "resources/icons/hierarchy_supertype.gif";
     public static final String IMG_SORTING = "resources/icons/sorting.gif";
     public static final String IMG_TOOLBAR_MENU = "resources/icons/toolbar_menu.gif";
 
@@ -110,18 +113,26 @@
     public static final String CMD_IMPORT_SCHEMAS_FROM_OPENLDAP = Activator.PLUGIN_ID
         + ".commands.importSchemasFromOpenLDAP";
     public static final String CMD_IMPORT_SCHEMAS_FROM_XML = Activator.PLUGIN_ID + ".commands.importSchemasFromXML";
-    public static final String CMD_LINK_WITH_EDITOR = Activator.PLUGIN_ID + ".commands.linkWithEditor";
+    public static final String CMD_LINK_WITH_EDITOR_SCHEMA_VIEW = Activator.PLUGIN_ID
+        + ".commands.linkWithEditorSchemaView";
+    public static final String CMD_LINK_WITH_EDITOR_HIERARCHY_VIEW = Activator.PLUGIN_ID
+        + ".commands.linkWithEditorHierarchyView";
     public static final String CMD_OPEN_ELEMENT = Activator.PLUGIN_ID + ".commands.openElement";
+    public static final String CMD_OPEN_HIERARCHY_VIEW_PREFERENCES = Activator.PLUGIN_ID
+        + ".commands.openHierarchyViewPreference";
     public static final String CMD_OPEN_PROJECT = Activator.PLUGIN_ID + ".commands.openProject";
     public static final String CMD_OPEN_SCHEMA_VIEW_PREFERENCE = Activator.PLUGIN_ID
         + ".commands.openSchemaViewPreference";
     public static final String CMD_OPEN_SCHEMA_VIEW_SORTING_DIALOG = Activator.PLUGIN_ID
         + ".commands.openSchemaViewSortingDialog";
+    public static final String CMD_OPEN_TYPE_HIERARCHY = Activator.PLUGIN_ID + ".commands.openTypeHierarchy";
     public static final String CMD_NEW_ATTRIBUTE_TYPE = Activator.PLUGIN_ID + ".commands.newAttributeType";
     public static final String CMD_NEW_OBJECT_CLASS = Activator.PLUGIN_ID + ".commands.newObjectClass";
     public static final String CMD_NEW_PROJECT = Activator.PLUGIN_ID + ".commands.newProject";
     public static final String CMD_NEW_SCHEMA = Activator.PLUGIN_ID + ".commands.newSchema";
     public static final String CMD_RENAME_PROJECT = Activator.PLUGIN_ID + ".commands.renameProject";
+    public static final String CMD_SHOW_SUBTYPE_HIERARCHY = Activator.PLUGIN_ID + ".commands.showSubTypeHierarchy";
+    public static final String CMD_SHOW_SUPERTYPE_HIERARCHY = Activator.PLUGIN_ID + ".commands.showSuperTypeHierarchy";
 
     // Preferences - DifferencesWidget
     /** The preferences ID for DifferencesWidget Grouping */
@@ -177,4 +188,37 @@
     public static final int PREFS_SCHEMA_VIEW_SORTING_ORDER_ASCENDING = 0;
     /** The preference value for Schema View Sorting 'descending' */
     public static final int PREFS_SCHEMA_VIEW_SORTING_ORDER_DESCENDING = 1;
+
+    // Preferences - Hierarchy View
+    /** The preference ID for Mode of the Hierarchy View */
+    public static final String PREFS_HIERARCHY_VIEW_MODE = Activator.PLUGIN_ID + ".preferences.HierarchyView.mode"; //$NON-NLS-1$
+    /** The preference value for Hierarchy View Mode 'Supertype' */
+    public static final int PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE = 0;
+    /** The preference value for Hierarchy View Mode 'Subtype' */
+    public static final int PREFS_HIERARCHY_VIEW_MODE_SUBTYPE = 1;
+    /** The preference ID for Hierarchy View Label */
+    public static final String PREFS_HIERARCHY_VIEW_LABEL = HierarchyViewPreferencePage.ID + ".label.labelValue"; //$NON-NLS-1$
+    /** The preference value for Hierarchy View First Name label */
+    public static final int PREFS_HIERARCHY_VIEW_LABEL_FIRST_NAME = 0;
+    /** The preference value for Hierarchy View All Aliases label */
+    public static final int PREFS_HIERARCHY_VIEW_LABEL_ALL_ALIASES = 1;
+    /** The preference value for Hierarchy View OID label */
+    public static final int PREFS_HIERARCHY_VIEW_LABEL_OID = 2;
+    /** The preference ID for Hierarchy View Abbreviate */
+    public static final String PREFS_HIERARCHY_VIEW_ABBREVIATE = HierarchyViewPreferencePage.ID + ".label.abbreviate"; //$NON-NLS-1$
+    /** The preference ID for Hierarchy View Abbreviate Max Length*/
+    public static final String PREFS_HIERARCHY_VIEW_ABBREVIATE_MAX_LENGTH = HierarchyViewPreferencePage.ID
+        + ".label.abbreviate.maxLength"; //$NON-NLS-1$
+    /** The preference ID for Hierarchy View Display Secondary Label */
+    public static final String PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_DISPLAY = HierarchyViewPreferencePage.ID
+        + ".secondaryLabel.display"; //$NON-NLS-1$
+    /** The preference ID for Hierarchy View Secondary Label */
+    public static final String PREFS_HIERARCHY_VIEW_SECONDARY_LABEL = HierarchyViewPreferencePage.ID
+        + ".secondaryLabel.labelValue"; //$NON-NLS-1$
+    /** The preference ID for Hierarchy View Abbreviate Secondary Label */
+    public static final String PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE = HierarchyViewPreferencePage.ID
+        + ".secondaryLabel.abbreviate"; //$NON-NLS-1$
+    /** The preference ID for Hierarchy View Abbreviate Secondary Label Max Length*/
+    public static final String PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE_MAX_LENGTH = HierarchyViewPreferencePage.ID
+        + ".secondaryLabel.abbreviate.maxLength"; //$NON-NLS-1$
 }

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PreferenceInitializer.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PreferenceInitializer.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PreferenceInitializer.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/PreferenceInitializer.java Wed Aug  1 07:51:59 2007
@@ -52,5 +52,16 @@
             PluginConstants.PREFS_SCHEMA_VIEW_LABEL_OID );
         store.setDefault( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL_ABBREVIATE, false );
         store.setDefault( PluginConstants.PREFS_SCHEMA_VIEW_SECONDARY_LABEL_ABBREVIATE_MAX_LENGTH, "50" ); //$NON-NLS-1$
+
+        // Hierarchy View Preference Page
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_LABEL,
+            PluginConstants.PREFS_HIERARCHY_VIEW_LABEL_ALL_ALIASES );
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_ABBREVIATE, true );
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_ABBREVIATE_MAX_LENGTH, "50" ); //$NON-NLS-1$
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_DISPLAY, true );
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL,
+            PluginConstants.PREFS_HIERARCHY_VIEW_LABEL_OID );
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE, false );
+        store.setDefault( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE_MAX_LENGTH, "50" ); //$NON-NLS-1$
     }
 }

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/HierarchyViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/HierarchyViewController.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/HierarchyViewController.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/HierarchyViewController.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,257 @@
+/*
+ *  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. 
+ *  
+ */
+
+package org.apache.directory.studio.apacheds.schemaeditor.controller;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.LinkWithEditorHierarchyViewAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenHierarchyViewPreferencesAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.ShowSubtypeHierarchyAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.ShowSupertypeHierarchyAction;
+import org.apache.directory.studio.apacheds.schemaeditor.model.Project;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditorInput;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditorInput;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.AttributeTypeWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.ObjectClassWrapper;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IMenuManager;
+import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+
+
+/**
+ * This class implements the Controller for the Hierarchy View
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class HierarchyViewController
+{
+    /** The associated view */
+    private HierarchyView view;
+
+    /** The authorized Preferences keys*/
+    List<String> authorizedPrefs;
+
+    // The Actions
+    private Action showSupertypeHierarchy;
+    private Action showSubtypeHierarchy;
+    private Action linkWithEditor;
+    private Action openPreferencePage;
+
+
+    /**
+     * Creates a new instance of SchemasViewController.
+     *
+     * @param view
+     *      the associated view
+     */
+    public HierarchyViewController( HierarchyView view )
+    {
+        this.view = view;
+
+        initAuthorizedPrefs();
+        initActions();
+        initToolbar();
+        initMenu();
+        initProjectsHandlerListener();
+        initDoubleClickListener();
+        initPreferencesListener();
+    }
+
+
+    /**
+     * Initializes the values for the authorized preferences.
+     */
+    private void initAuthorizedPrefs()
+    {
+        authorizedPrefs = new ArrayList<String>();
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_LABEL );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_ABBREVIATE );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_ABBREVIATE_MAX_LENGTH );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_DISPLAY );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE );
+        authorizedPrefs.add( PluginConstants.PREFS_HIERARCHY_VIEW_SECONDARY_LABEL_ABBREVIATE_MAX_LENGTH );
+    }
+
+
+    /**
+     * Initializes the Actions.
+     */
+    private void initActions()
+    {
+        // Setting up the default key value (if needed)
+        if ( Activator.getDefault().getDialogSettings().get( PluginConstants.PREFS_HIERARCHY_VIEW_MODE ) == null )
+        {
+            Activator.getDefault().getDialogSettings().put( PluginConstants.PREFS_HIERARCHY_VIEW_MODE,
+                PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE );
+        }
+        showSupertypeHierarchy = new ShowSupertypeHierarchyAction( view );
+        showSubtypeHierarchy = new ShowSubtypeHierarchyAction( view );
+        linkWithEditor = new LinkWithEditorHierarchyViewAction( view );
+        openPreferencePage = new OpenHierarchyViewPreferencesAction();
+    }
+
+
+    /**
+     * Initializes the Toolbar.
+     */
+    private void initToolbar()
+    {
+        IToolBarManager toolbar = view.getViewSite().getActionBars().getToolBarManager();
+        toolbar.add( showSupertypeHierarchy );
+        toolbar.add( showSubtypeHierarchy );
+        toolbar.add( new Separator() );
+        toolbar.add( linkWithEditor );
+    }
+
+
+    /**
+     * Initializes the Menu.
+     */
+    private void initMenu()
+    {
+        IMenuManager menu = view.getViewSite().getActionBars().getMenuManager();
+        menu.add( showSupertypeHierarchy );
+        menu.add( showSubtypeHierarchy );
+        menu.add( new Separator() );
+        menu.add( linkWithEditor );
+        menu.add( new Separator() );
+        menu.add( openPreferencePage );
+    }
+
+
+    /**
+     * Initializes the ProjectsHandlerListener.
+     */
+    private void initProjectsHandlerListener()
+    {
+        Activator.getDefault().getProjectsHandler().addListener( new ProjectsHandlerAdapter()
+        {
+            public void openProjectChanged( Project oldProject, Project newProject )
+            {
+                if ( newProject != null )
+                {
+                    view.getViewer().getTree().setEnabled( true );
+                    showSupertypeHierarchy.setEnabled( true );
+                    showSubtypeHierarchy.setEnabled( true );
+                    linkWithEditor.setEnabled( true );
+                    openPreferencePage.setEnabled( true );
+                }
+                else
+                {
+                    view.setInput( null );
+                    view.getViewer().getTree().setEnabled( false );
+                    showSupertypeHierarchy.setEnabled( false );
+                    showSubtypeHierarchy.setEnabled( false );
+                    linkWithEditor.setEnabled( false );
+                    openPreferencePage.setEnabled( false );
+                }
+            }
+        } );
+    }
+
+
+    /**
+     * Initializes the DoubleClickListener.
+     */
+    private void initDoubleClickListener()
+    {
+        view.getViewer().addDoubleClickListener( new IDoubleClickListener()
+        {
+            public void doubleClick( DoubleClickEvent event )
+            {
+                // What we get from the treeViewer is a StructuredSelection
+                StructuredSelection selection = ( StructuredSelection ) event.getSelection();
+
+                // Here's the real object (an AttributeTypeWrapper, ObjectClassWrapper or IntermediateNode)
+                Object objectSelection = selection.getFirstElement();
+                IEditorInput input = null;
+                String editorId = null;
+
+                // Selecting the right editor and input
+                if ( objectSelection instanceof AttributeTypeWrapper )
+                {
+                    input = new AttributeTypeEditorInput( ( ( AttributeTypeWrapper ) objectSelection )
+                        .getAttributeType() );
+                    editorId = AttributeTypeEditor.ID;
+                }
+                else if ( objectSelection instanceof ObjectClassWrapper )
+                {
+                    input = new ObjectClassEditorInput( ( ( ObjectClassWrapper ) objectSelection ).getObjectClass() );
+                    editorId = ObjectClassEditor.ID;
+                }
+
+                // Let's open the editor
+                if ( input != null )
+                {
+                    IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
+                    try
+                    {
+                        page.openEditor( input, editorId );
+                    }
+                    catch ( PartInitException e )
+                    {
+                        // TODO ADD A LOGGER
+                    }
+                }
+            }
+        } );
+    }
+
+
+    /**
+     * Initializes the listener on the preferences store.
+     */
+    private void initPreferencesListener()
+    {
+        Activator.getDefault().getPreferenceStore().addPropertyChangeListener( new IPropertyChangeListener()
+        {
+            /* (non-Javadoc)
+             * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
+             */
+            public void propertyChange( PropertyChangeEvent event )
+            {
+                if ( authorizedPrefs.contains( event.getProperty() ) )
+                {
+                    view.refresh();
+                }
+            }
+        } );
+    }
+}

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/ProjectsViewController.java Wed Aug  1 07:51:59 2007
@@ -139,8 +139,8 @@
         {
             public void menuAboutToShow( IMenuManager manager )
             {
-                MenuManager importManager = new MenuManager( "Import..." );
-                MenuManager exportManager = new MenuManager( "Export..." );
+                MenuManager importManager = new MenuManager( "&Import..." );
+                MenuManager exportManager = new MenuManager( "Exp&ort..." );
                 manager.add( newProject );
                 manager.add( new Separator() );
                 manager.add( openProject );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/SchemaViewController.java Wed Aug  1 07:51:59 2007
@@ -33,13 +33,14 @@
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.ExportSchemasForADSAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.ImportSchemasFromOpenLdapAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.ImportSchemasFromXmlAction;
-import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.LinkWithEditorAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.LinkWithEditorSchemaViewAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.NewAttributeTypeAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.NewObjectClassAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.NewSchemaAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenElementAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenSchemaViewPreferenceAction;
 import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenSchemaViewSortingDialogAction;
+import org.apache.directory.studio.apacheds.schemaeditor.controller.actions.OpenTypeHierarchyAction;
 import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl;
 import org.apache.directory.studio.apacheds.schemaeditor.model.ObjectClassImpl;
 import org.apache.directory.studio.apacheds.schemaeditor.model.Project;
@@ -345,6 +346,7 @@
     private NewAttributeTypeAction newAttributeType;
     private NewObjectClassAction newObjectClass;
     private OpenElementAction openElement;
+    private OpenTypeHierarchyAction openTypeHierarchy;
     private DeleteSchemaElementAction deleteSchemaElement;
     private ImportSchemasFromOpenLdapAction importSchemasFromOpenLdap;
     private ImportSchemasFromXmlAction importSchemasFromXml;
@@ -354,7 +356,7 @@
     private CollapseAllAction collapseAll;
     private OpenSchemaViewSortingDialogAction openSchemaViewSortingDialog;
     private OpenSchemaViewPreferenceAction openSchemaViewPreference;
-    private LinkWithEditorAction linkWithEditor;
+    private LinkWithEditorSchemaViewAction linkWithEditor;
 
 
     /**
@@ -389,6 +391,7 @@
         newAttributeType = new NewAttributeTypeAction( viewer );
         newObjectClass = new NewObjectClassAction( viewer );
         openElement = new OpenElementAction( viewer );
+        openTypeHierarchy = new OpenTypeHierarchyAction( viewer );
         deleteSchemaElement = new DeleteSchemaElementAction( viewer );
         importSchemasFromOpenLdap = new ImportSchemasFromOpenLdapAction();
         importSchemasFromXml = new ImportSchemasFromXmlAction();
@@ -398,7 +401,7 @@
         collapseAll = new CollapseAllAction( viewer );
         openSchemaViewSortingDialog = new OpenSchemaViewSortingDialogAction();
         openSchemaViewPreference = new OpenSchemaViewPreferenceAction();
-        linkWithEditor = new LinkWithEditorAction( view );
+        linkWithEditor = new LinkWithEditorSchemaViewAction( view );
     }
 
 
@@ -443,15 +446,16 @@
         {
             public void menuAboutToShow( IMenuManager manager )
             {
-                MenuManager newManager = new MenuManager( "New" );
-                MenuManager importManager = new MenuManager( "Import..." );
-                MenuManager exportManager = new MenuManager( "Export..." );
+                MenuManager newManager = new MenuManager( "Ne&w" );
+                MenuManager importManager = new MenuManager( "&Import..." );
+                MenuManager exportManager = new MenuManager( "Exp&ort..." );
                 manager.add( newManager );
                 newManager.add( newSchema );
                 newManager.add( newAttributeType );
                 newManager.add( newObjectClass );
                 manager.add( new Separator() );
                 manager.add( openElement );
+                manager.add( openTypeHierarchy );
                 manager.add( new Separator() );
                 manager.add( deleteSchemaElement );
                 manager.add( new Separator() );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/CloseProjectAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/CloseProjectAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/CloseProjectAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/CloseProjectAction.java Wed Aug  1 07:51:59 2007
@@ -61,8 +61,8 @@
      */
     public CloseProjectAction( TableViewer viewer )
     {
-        super( "Close Project" );
-        setToolTipText( getText() );
+        super( "Clo&se Project" );
+        setToolTipText( "Close Project" );
         setId( PluginConstants.CMD_CLOSE_PROJECT );
         setEnabled( false );
         this.viewer = viewer;

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteProjectAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteProjectAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteProjectAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteProjectAction.java Wed Aug  1 07:51:59 2007
@@ -63,8 +63,8 @@
      */
     public DeleteProjectAction( TableViewer viewer )
     {
-        super( "Delete Project" );
-        setToolTipText( getText() );
+        super( "&Delete Project" );
+        setToolTipText( "Delete Project" );
         setId( PluginConstants.CMD_DELETE_PROJECT );
         setImageDescriptor( AbstractUIPlugin
             .imageDescriptorFromPlugin( Activator.PLUGIN_ID, PluginConstants.IMG_DELETE ) );
@@ -77,17 +77,17 @@
                 StructuredSelection selection = ( StructuredSelection ) event.getSelection();
                 if ( selection.size() == 1 )
                 {
-                    setText( "Delete Project" );
+                    setText( "&Delete Project" );
                     setEnabled( true );
                 }
                 else if ( selection.size() > 1 )
                 {
-                    setText( "Delete Projects" );
+                    setText( "&Delete Projects" );
                     setEnabled( true );
                 }
                 else
                 {
-                    setText( "Delete Project" );
+                    setText( "&Delete Project" );
                     setEnabled( false );
                 }
             }

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/DeleteSchemaElementAction.java Wed Aug  1 07:51:59 2007
@@ -68,8 +68,8 @@
      */
     public DeleteSchemaElementAction( TreeViewer viewer )
     {
-        super( "Delete" );
-        setToolTipText( getText() );
+        super( "&Delete" );
+        setToolTipText( "Delete" );
         setId( PluginConstants.CMD_DELETE_SCHEMA_ELEMENT );
         setImageDescriptor( AbstractUIPlugin
             .imageDescriptorFromPlugin( Activator.PLUGIN_ID, PluginConstants.IMG_DELETE ) );

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorHierarchyViewAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorHierarchyViewAction.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorHierarchyViewAction.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorHierarchyViewAction.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,215 @@
+/*
+ *  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. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
+
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.model.AttributeTypeImpl;
+import org.apache.directory.studio.apacheds.schemaeditor.model.ObjectClassImpl;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IPartListener2;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchPartReference;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+/**
+ * This class implements the Link With Editor Action for the Hierarchy View
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class LinkWithEditorHierarchyViewAction extends Action
+{
+    /** The String for storing the checked state of the action */
+    private static final String LINK_WITH_EDITOR_HIERARCHY_VIEW_DS_KEY = LinkWithEditorHierarchyViewAction.class
+        .getName()
+        + ".dialogsettingkey"; //$NON-NLS-1$
+
+    /** The associated view */
+    private HierarchyView view;
+
+    /** The listener listening on changes on editors */
+    private IPartListener2 editorListener = new IPartListener2()
+    {
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partVisible( IWorkbenchPartReference partRef )
+        {
+            IWorkbenchPart part = partRef.getPart( true );
+
+            if ( part instanceof ObjectClassEditor )
+            {
+                linkViewWithEditor( ( ( ObjectClassEditor ) part ).getOriginalObjectClass() );
+            }
+            else if ( part instanceof AttributeTypeEditor )
+            {
+                linkViewWithEditor( ( ( AttributeTypeEditor ) part ).getOriginalAttributeType() );
+            }
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partActivated( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partClosed( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partDeactivated( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partHidden( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partInputChanged( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partOpened( IWorkbenchPartReference partRef )
+        {
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
+         */
+        public void partBroughtToTop( IWorkbenchPartReference partRef )
+        {
+        }
+    };
+
+
+    /**
+     * Creates a new instance of LinkWithEditorSchemasView.
+     *
+     * @param view
+     *      the associated view
+     */
+    public LinkWithEditorHierarchyViewAction( HierarchyView view )
+    {
+        super( "Lin&k with Editor", AS_CHECK_BOX );
+        setToolTipText( "Link with Editor" );
+        setId( PluginConstants.CMD_LINK_WITH_EDITOR_HIERARCHY_VIEW );
+        setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+            PluginConstants.IMG_LINK_WITH_EDITOR ) );
+        setEnabled( true );
+        this.view = view;
+
+        // Setting up the default key value (if needed)
+        if ( Activator.getDefault().getDialogSettings().get( LINK_WITH_EDITOR_HIERARCHY_VIEW_DS_KEY ) == null )
+        {
+            Activator.getDefault().getDialogSettings().put( LINK_WITH_EDITOR_HIERARCHY_VIEW_DS_KEY, false );
+        }
+
+        // Setting state from the dialog settings
+        setChecked( Activator.getDefault().getDialogSettings().getBoolean( LINK_WITH_EDITOR_HIERARCHY_VIEW_DS_KEY ) );
+
+        // Enabling the listeners
+        if ( isChecked() )
+        {
+            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener( editorListener );
+        }
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.action.Action#run()
+     */
+    public void run()
+    {
+        setChecked( isChecked() );
+        Activator.getDefault().getDialogSettings().put( LINK_WITH_EDITOR_HIERARCHY_VIEW_DS_KEY, isChecked() );
+
+        if ( isChecked() ) // Enabling the listeners
+        {
+            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener( editorListener );
+
+            IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+                .getActiveEditor();
+            if ( activeEditor instanceof ObjectClassEditor )
+            {
+                linkViewWithEditor( ( ( ObjectClassEditor ) activeEditor ).getOriginalObjectClass() );
+            }
+            else if ( activeEditor instanceof AttributeTypeEditor )
+            {
+                linkViewWithEditor( ( ( AttributeTypeEditor ) activeEditor ).getOriginalAttributeType() );
+            }
+        }
+        else
+        // Disabling the listeners
+        {
+            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().removePartListener( editorListener );
+        }
+    }
+
+
+    /**
+     * Links the view with the right editor
+     *
+     * @param schemaElement
+     *      the Schema Element
+     */
+    private void linkViewWithEditor( SchemaObject schemaElement )
+    {
+        if ( schemaElement instanceof AttributeTypeImpl )
+        {
+            view.setInput( schemaElement );
+        }
+        else if ( schemaElement instanceof ObjectClassImpl )
+        {
+            view.setInput( schemaElement );
+        }
+    }
+}

Copied: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorSchemaViewAction.java (from r561687, directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorAction.java)
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorSchemaViewAction.java?view=diff&rev=561817&p1=directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorAction.java&r1=561687&p2=directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorSchemaViewAction.java&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/LinkWithEditorSchemaViewAction.java Wed Aug  1 07:51:59 2007
@@ -60,10 +60,10 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public class LinkWithEditorAction extends Action implements IWorkbenchWindowActionDelegate
+public class LinkWithEditorSchemaViewAction extends Action implements IWorkbenchWindowActionDelegate
 {
     /** The String for storing the checked state of the action */
-    private static final String LINK_WITH_EDITOR_SCHEMAS_VIEW_DS_KEY = LinkWithEditorAction.class.getName()
+    private static final String LINK_WITH_EDITOR_SCHEMAS_VIEW_DS_KEY = LinkWithEditorSchemaViewAction.class.getName()
         + ".dialogsettingkey"; //$NON-NLS-1$
 
     /** The associated view */
@@ -199,11 +199,11 @@
     /**
      * Creates a new instance of ExportSchemasAsXmlAction.
      */
-    public LinkWithEditorAction( SchemaView view )
+    public LinkWithEditorSchemaViewAction( SchemaView view )
     {
-        super( "Link with Editor", AS_CHECK_BOX );
-        setToolTipText( getText() );
-        setId( PluginConstants.CMD_LINK_WITH_EDITOR );
+        super( "Lin&k with Editor", AS_CHECK_BOX );
+        setToolTipText( "Link with Editor" );
+        setId( PluginConstants.CMD_LINK_WITH_EDITOR_SCHEMA_VIEW );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_LINK_WITH_EDITOR ) );
         setEnabled( false );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewAttributeTypeAction.java Wed Aug  1 07:51:59 2007
@@ -58,8 +58,8 @@
      */
     public NewAttributeTypeAction( TreeViewer viewer )
     {
-        super( "New Attribute Type" );
-        setToolTipText( getText() );
+        super( "New &Attribute Type" );
+        setToolTipText( "New Attribute Type" );
         setId( PluginConstants.CMD_NEW_ATTRIBUTE_TYPE );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_ATTRIBUTE_TYPE_NEW ) );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewObjectClassAction.java Wed Aug  1 07:51:59 2007
@@ -58,8 +58,8 @@
      */
     public NewObjectClassAction( TreeViewer viewer )
     {
-        super( "New Object Class" );
-        setToolTipText( getText() );
+        super( "New &Object Class" );
+        setToolTipText( "New Object Class" );
         setId( PluginConstants.CMD_NEW_OBJECT_CLASS );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_OBJECT_CLASS_NEW ) );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewProjectAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewProjectAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewProjectAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewProjectAction.java Wed Aug  1 07:51:59 2007
@@ -47,8 +47,8 @@
      */
     public NewProjectAction()
     {
-        super( "New Schema Project" );
-        setToolTipText( getText() );
+        super( "New Schema P&roject" );
+        setToolTipText( "New Schema Project" );
         setId( PluginConstants.CMD_NEW_PROJECT );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_PROJECT_NEW ) );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewSchemaAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewSchemaAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewSchemaAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/NewSchemaAction.java Wed Aug  1 07:51:59 2007
@@ -47,8 +47,8 @@
      */
     public NewSchemaAction()
     {
-        super( "New Schema" );
-        setToolTipText( getText() );
+        super( "New &Schema" );
+        setToolTipText( "New Schema" );
         setId( PluginConstants.CMD_NEW_SCHEMA );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_SCHEMA_NEW ) );

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenElementAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenElementAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenElementAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenElementAction.java Wed Aug  1 07:51:59 2007
@@ -61,8 +61,8 @@
      */
     public OpenElementAction( TreeViewer viewer )
     {
-        super( "Open" );
-        setToolTipText( getText() );
+        super( "&Open" );
+        setToolTipText( "Open" );
         setId( PluginConstants.CMD_OPEN_ELEMENT );
         setEnabled( true );
         this.viewer = viewer;

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenHierarchyViewPreferencesAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenHierarchyViewPreferencesAction.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenHierarchyViewPreferencesAction.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenHierarchyViewPreferencesAction.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,61 @@
+/*
+ *  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. 
+ *  
+ */
+
+package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.view.preferences.HierarchyViewPreferencePage;
+import org.eclipse.jface.action.Action;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.dialogs.PreferencesUtil;
+
+
+/**
+ * This action opens the Preference Page for the Hierarchy View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class OpenHierarchyViewPreferencesAction extends Action
+{
+    /**
+     * Creates a new instance of OpenHierarchyViewPreferencesAction.
+     */
+    public OpenHierarchyViewPreferencesAction()
+    {
+        super( "&Preferences..." );
+        setToolTipText( "Preferences..." );
+        setId( PluginConstants.CMD_OPEN_HIERARCHY_VIEW_PREFERENCES );
+        setEnabled( true );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.action.Action#run()
+     */
+    public void run()
+    {
+        Shell shell = Display.getCurrent().getActiveShell();
+        PreferencesUtil.createPreferenceDialogOn( shell, HierarchyViewPreferencePage.ID, new String[]
+            { HierarchyViewPreferencePage.ID }, null ).open();
+    }
+}

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenProjectAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenProjectAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenProjectAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenProjectAction.java Wed Aug  1 07:51:59 2007
@@ -61,8 +61,8 @@
      */
     public OpenProjectAction( TableViewer viewer )
     {
-        super( "Open Project" );
-        setToolTipText( getText() );
+        super( "Op&en Project" );
+        setToolTipText( "Open Project" );
         setId( PluginConstants.CMD_OPEN_PROJECT );
         setEnabled( false );
         this.viewer = viewer;

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewPreferenceAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewPreferenceAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewPreferenceAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewPreferenceAction.java Wed Aug  1 07:51:59 2007
@@ -45,8 +45,8 @@
      */
     public OpenSchemaViewPreferenceAction()
     {
-        super( "Preferences..." );
-        setToolTipText( getText() );
+        super( "&Preferences..." );
+        setToolTipText( "Preferences..." );
         setId( PluginConstants.CMD_OPEN_SCHEMA_VIEW_PREFERENCE );
         setEnabled( false );
     }

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewSortingDialogAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewSortingDialogAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewSortingDialogAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenSchemaViewSortingDialogAction.java Wed Aug  1 07:51:59 2007
@@ -45,8 +45,8 @@
      */
     public OpenSchemaViewSortingDialogAction()
     {
-        super( "Sorting..." );
-        setToolTipText( getText() );
+        super( "&Sorting..." );
+        setToolTipText( "Sorting..." );
         setId( PluginConstants.CMD_OPEN_SCHEMA_VIEW_SORTING_DIALOG );
         setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
             PluginConstants.IMG_SORTING ) );

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenTypeHierarchyAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenTypeHierarchyAction.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenTypeHierarchyAction.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/OpenTypeHierarchyAction.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,195 @@
+/*
+ *  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. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
+
+
+import org.apache.directory.shared.ldap.schema.SchemaObject;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.attributetype.AttributeTypeEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.editors.objectclass.ObjectClassEditor;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.SchemaView;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.AttributeTypeWrapper;
+import org.apache.directory.studio.apacheds.schemaeditor.view.wrappers.ObjectClassWrapper;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;
+import org.eclipse.ui.PlatformUI;
+
+
+/**
+ * This action opens the selected element in the Viewer in the Hierarchy View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class OpenTypeHierarchyAction extends Action implements IWorkbenchWindowActionDelegate
+{
+    /** The associated viewer */
+    private TreeViewer viewer;
+
+
+    /**
+     * Creates a new instance of DeleteSchemaElementAction.
+     */
+    public OpenTypeHierarchyAction( TreeViewer viewer )
+    {
+        super( "Ope&n Type Hierarchy" );
+        setToolTipText( "Open Type Hierarchy" );
+        setId( PluginConstants.CMD_OPEN_TYPE_HIERARCHY );
+        setEnabled( true );
+        this.viewer = viewer;
+        this.viewer.addSelectionChangedListener( new ISelectionChangedListener()
+        {
+            public void selectionChanged( SelectionChangedEvent event )
+            {
+                StructuredSelection selection = ( StructuredSelection ) event.getSelection();
+                if ( selection.size() == 1 )
+                {
+                    Object obj = selection.getFirstElement();
+                    if ( obj instanceof AttributeTypeWrapper )
+                    {
+                        setEnabled( true );
+                    }
+                    else if ( obj instanceof ObjectClassWrapper )
+                    {
+                        setEnabled( true );
+                    }
+                    else
+                    {
+                        setEnabled( false );
+                    }
+                }
+                else
+                {
+                    setEnabled( false );
+                }
+            }
+        } );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.action.Action#run()
+     */
+    public void run()
+    {
+        IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart();
+
+        if ( part instanceof SchemaView )
+        {
+            openTypeHierarchyFromTreeViewer( ( ( SchemaView ) part ).getViewer() );
+        }
+        else if ( part instanceof HierarchyView )
+        {
+            openTypeHierarchyFromTreeViewer( ( ( HierarchyView ) part ).getViewer() );
+        }
+        else if ( part instanceof AttributeTypeEditor )
+        {
+            openTypeHierarchy( ( ( AttributeTypeEditor ) part ).getOriginalAttributeType() );
+        }
+        else if ( part instanceof ObjectClassEditor )
+        {
+            openTypeHierarchy( ( ( ObjectClassEditor ) part ).getOriginalObjectClass() );
+        }
+    }
+
+
+    /**
+     * Gets the selection of the TreeViewer and opens the selection in the Hierarchy View.
+     *
+     * @param treeViewer
+     *      the Tree Viewer
+     */
+    private void openTypeHierarchyFromTreeViewer( TreeViewer treeViewer )
+    {
+        Object firstElement = ( ( StructuredSelection ) treeViewer.getSelection() ).getFirstElement();
+
+        if ( firstElement instanceof ObjectClassWrapper )
+        {
+            ObjectClassWrapper ocw = ( ObjectClassWrapper ) firstElement;
+            openTypeHierarchy( ocw.getObjectClass() );
+        }
+        else if ( firstElement instanceof AttributeTypeWrapper )
+        {
+            AttributeTypeWrapper atw = ( AttributeTypeWrapper ) firstElement;
+            openTypeHierarchy( atw.getAttributeType() );
+        }
+    }
+
+
+    /**
+     * Opens the Type Hierarchy with the given element.
+     *
+     * @param element
+     *      the element to open
+     */
+    private void openTypeHierarchy( SchemaObject element )
+    {
+        HierarchyView view = ( HierarchyView ) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+            .findView( HierarchyView.ID );
+
+        view.setInput( element );
+        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop( view );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
+     */
+    public void run( IAction action )
+    {
+        run();
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
+     */
+    public void dispose()
+    {
+        // Nothing to do
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
+     */
+    public void init( IWorkbenchWindow window )
+    {
+        // Nothing to do
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
+     */
+    public void selectionChanged( IAction action, ISelection selection )
+    {
+        // Nothing to do
+    }
+}

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/RenameProjectAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/RenameProjectAction.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/RenameProjectAction.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/RenameProjectAction.java Wed Aug  1 07:51:59 2007
@@ -62,7 +62,7 @@
      */
     public RenameProjectAction( TableViewer viewer )
     {
-        super( "Rename Project..." );
+        super( "Re&name Project..." );
         setToolTipText( getText() );
         setId( PluginConstants.CMD_RENAME_PROJECT );
         setImageDescriptor( AbstractUIPlugin

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSubtypeHierarchyAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSubtypeHierarchyAction.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSubtypeHierarchyAction.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSubtypeHierarchyAction.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,70 @@
+/*
+ *  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. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+/**
+ * This class implements the Show Subtype Hierachy Action for the Hierarchy View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ShowSubtypeHierarchyAction extends Action
+{
+    /** The associated view */
+    private HierarchyView view;
+
+
+    /**
+     * Creates a new instance of ShowSubtypeHierarchyAction.
+     */
+    public ShowSubtypeHierarchyAction( HierarchyView view )
+    {
+        super( "Su&btype Hierarchy", AS_RADIO_BUTTON );
+        setToolTipText( "Show the Subtype Hierarchy" );
+        setId( PluginConstants.CMD_SHOW_SUBTYPE_HIERARCHY );
+        setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+            PluginConstants.IMG_SHOW_SUBTYPE_HIERARCHY ) );
+        setEnabled( true );
+        this.view = view;
+
+        // Setting state from the dialog settings
+        setChecked( Activator.getDefault().getDialogSettings().getInt( PluginConstants.PREFS_HIERARCHY_VIEW_MODE ) == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUBTYPE );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.action.Action#run()
+     */
+    public void run()
+    {
+        Activator.getDefault().getDialogSettings().put( PluginConstants.PREFS_HIERARCHY_VIEW_MODE,
+            PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUBTYPE );
+
+        view.refresh();
+    }
+}

Added: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSupertypeHierarchyAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSupertypeHierarchyAction.java?view=auto&rev=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSupertypeHierarchyAction.java (added)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/controller/actions/ShowSupertypeHierarchyAction.java Wed Aug  1 07:51:59 2007
@@ -0,0 +1,70 @@
+/*
+ *  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. 
+ *  
+ */
+package org.apache.directory.studio.apacheds.schemaeditor.controller.actions;
+
+
+import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.PluginConstants;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
+import org.eclipse.jface.action.Action;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+
+/**
+ * This class implements the Show Supertype Hierachy Action for the Hierarchy View.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class ShowSupertypeHierarchyAction extends Action
+{
+    /** The associated view */
+    private HierarchyView view;
+
+
+    /**
+     * Creates a new instance of ShowSubtypeHierarchyAction.
+     */
+    public ShowSupertypeHierarchyAction( HierarchyView view )
+    {
+        super( "Su&pertype Hierarchy", AS_RADIO_BUTTON );
+        setToolTipText( "Show the Supertype Hierarchy" );
+        setId( PluginConstants.CMD_SHOW_SUPERTYPE_HIERARCHY );
+        setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID,
+            PluginConstants.IMG_SHOW_SUPERTYPE_HIERARCHY ) );
+        setEnabled( true );
+        this.view = view;
+
+        // Setting state from the dialog settings
+        setChecked( Activator.getDefault().getDialogSettings().getInt( PluginConstants.PREFS_HIERARCHY_VIEW_MODE ) == PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE );
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.action.Action#run()
+     */
+    public void run()
+    {
+        Activator.getDefault().getDialogSettings().put( PluginConstants.PREFS_HIERARCHY_VIEW_MODE,
+            PluginConstants.PREFS_HIERARCHY_VIEW_MODE_SUPERTYPE );
+
+        view.refresh();
+    }
+}

Modified: directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java?view=diff&rev=561817&r1=561816&r2=561817
==============================================================================
--- directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java (original)
+++ directory/studio/trunk/studio-apacheds-schemaeditor/src/main/java/org/apache/directory/studio/apacheds/schemaeditor/view/Perspective.java Wed Aug  1 07:51:59 2007
@@ -21,6 +21,7 @@
 
 
 import org.apache.directory.studio.apacheds.schemaeditor.Activator;
+import org.apache.directory.studio.apacheds.schemaeditor.view.views.HierarchyView;
 import org.apache.directory.studio.apacheds.schemaeditor.view.views.ProblemsView;
 import org.apache.directory.studio.apacheds.schemaeditor.view.views.ProjectsView;
 import org.apache.directory.studio.apacheds.schemaeditor.view.views.SchemaView;
@@ -65,6 +66,7 @@
 
         // Adding Views
         topLeftFolder.addView( SchemaView.ID );
+        topLeftFolder.addView( HierarchyView.ID );
         layout.addStandaloneView( ProjectsView.ID, true, IPageLayout.BOTTOM, 0.7f, topLeftFolderId );
         layout.addStandaloneView( ProblemsView.ID, true, IPageLayout.BOTTOM, 0.7f, editorAreaId );