Example #1
0
        protected override void OnDocumentWindowChanged(ModelingDocView oldView, ModelingDocView newView)
        {
            PanZoomPanel panel = this.Window as PanZoomPanel;

            if (panel != null)
            {
                // detach from previous document view
                if (m_currentDocView != null)
                {
                    UnsubscribeFromEvents(m_currentDocView);
                    m_currentDocView = null;
                }

                DiagramDocView docView = newView as DiagramDocView;
                if (docView != null && docView.CurrentDesigner != null)
                {
                    // attach to the new document view
                    SubscribeToEvents(docView);
                    m_currentDocView = docView;

                    // make sure thumbnail image is updated
                    panel.InvalidateImage(docView.CurrentDesigner.DiagramClientView);
                }
                else
                {
                    // document is not recognized - erase the image
                    panel.InvalidateImage(null);
                }
            }
        }
Example #2
0
        public static void SelectCompartmentItem(DiagramDocView docView, ModelElement compartmentOwner, string compartmentListName, ModelElement compartmentItem)
        {
            var shapeElement = DiagramUtil.GetModelElementFirstShape(compartmentOwner);
            ElementListCompartment compartment = null;

            foreach (ShapeElement shape in shapeElement.NestedChildShapes)
            {
                if (shape is ElementListCompartment)
                {
                    if ((shape as ElementListCompartment).Name == compartmentListName)
                    {
                        compartment = (ElementListCompartment)shape;
                    }
                }
            }

            if (compartment != null)
            {
                var listField = compartment.ListField;

                var child = listField.FindFirstChild(compartment, true);
                while (child != null && !child.RepresentedElements.OfType <ModelElement>().Any(element => element == compartmentItem))
                {
                    child = listField.FindNextChild(child, true);
                }

                var selectedShapesCollection = docView.CurrentDesigner.Selection;

                selectedShapesCollection.Clear();
                selectedShapesCollection.Set(child);
            }
        }
Example #3
0
        private void SubscribeToEvents(DiagramDocView docView)
        {
            Debug.Assert(docView != null);
            if (docView != null)
            {
                if (docView.CurrentDesigner != null)
                {
                    DiagramClientView diagramClientView = docView.CurrentDesigner.DiagramClientView;
                    Debug.Assert(diagramClientView != null);
                    if (diagramClientView != null)
                    {
                        // Watch scroll and zoom changes so that view bounds are updated
                        // when user scrolls/zooms the diagram via usual means.
                        diagramClientView.ScrollPositionChanged += OnScrollPositionChanged;
                        diagramClientView.ZoomChanged           += OnZoomChanged;

                        m_needsRefresh = true;
                    }
                }

                if (docView.CurrentDiagram != null)
                {
                    Store store = docView.CurrentDiagram.Store;
                    Debug.Assert(store != null && IsValidModelStore(store));
                    if (store != null && IsValidModelStore(store))
                    {
                        // Watch any transactions so that image itself is updated when changes
                        // are made to the diagram.
                        store.EventManagerDirectory.TransactionCommitted.Add(m_transactionHandler);
                    }
                }
            }
        }
Example #4
0
        private void UnsubscribeFromEvents(DiagramDocView docView)
        {
            Debug.Assert(docView != null);
            if (docView != null)
            {
                if (docView.CurrentDesigner != null)
                {
                    DiagramClientView diagramClientView = docView.CurrentDesigner.DiagramClientView;
                    Debug.Assert(diagramClientView != null);
                    if (diagramClientView != null)
                    {
                        diagramClientView.ScrollPositionChanged -= OnScrollPositionChanged;
                        diagramClientView.ZoomChanged           -= OnZoomChanged;
                    }
                }

                if (docView.CurrentDiagram != null)
                {
                    Store store = docView.CurrentDiagram.Store;
                    Debug.Assert(store != null && IsValidModelStore(store));
                    if (store != null && IsValidModelStore(store))
                    {
                        store.EventManagerDirectory.TransactionCommitted.Remove(m_transactionHandler);
                    }
                }
            }
        }
Example #5
0
        public override void ExecCommand(MenuCommand menuCommand)
        {
            DiagramDocView diagramDocView = GetCurrentSelectedPersistentType().DiagramDocView;
            Diagram        currentDiagram = diagramDocView.CurrentDiagram;

            new DiagramUtil().GetDiagramClientView(currentDiagram)
            .SetZoomFactor(ZoomFactor, currentDiagram.Center, true);
        }
Example #6
0
        /// <summary>
        /// Gets the surface area.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <returns></returns>
        public static bool IsDiagramSelected(IServiceProvider provider)
        {
            DiagramDocView docView = DesignerHelper.GetDiagramDocView(provider);

            if (docView != null)
            {
                if (docView.SelectionCount == 1)
                {
                    foreach (object component in docView.GetSelectedComponents())
                    {
                        return(component is Diagram);
                    }
                }
            }

            return(false);
        }
Example #7
0
 protected override void Dispose(bool disposing)
 {
     try
     {
         if (disposing)
         {
             if (m_currentDocView != null)
             {
                 UnsubscribeFromEvents(m_currentDocView);
                 m_currentDocView = null;
             }
         }
     }
     finally
     {
         base.Dispose(disposing);
     }
 }
Example #8
0
        public void SetupObjects(nHydrate.Dsl.nHydrateModel model, DiagramDocView diagram, ModelingDocData docView)
        {
            _model   = model;
            _diagram = diagram;
            _docData = docView;

            _modelElements.Clear();

            //Add Entities
            foreach (var item in _model.Entities.OrderBy(x => x.Name))
            {
                _modelElements.Add(item);
            }

            //Add Views
            foreach (var item in _model.Views.OrderBy(x => x.Name))
            {
                _modelElements.Add(item);
            }

            this.DisplayObjects();
        }
Example #9
0
        /// <summary>
        /// Gets the selected shape.
        /// </summary>
        /// <param name="provider">The provider.</param>
        /// <returns></returns>
        public static ShapeElement GetSelectedShape(IServiceProvider provider)
        {
            Guard.ArgumentNotNull(provider, "provider");

            DiagramDocView docView = DesignerHelper.GetDiagramDocView(provider);

            if (docView != null)
            {
                if (docView.SelectionCount == 1)
                {
                    foreach (object component in docView.GetSelectedComponents())
                    {
                        ShapeElement selectedShape = component as ShapeElement;
                        if (selectedShape != null)
                        {
                            return(selectedShape);
                        }
                    }
                }
            }

            return(null);
        }
 public void SetupObjects(nHydrate.Dsl.nHydrateModel model, DiagramDocView diagram, ModelingDocData docView)
 {
     _model   = model;
     _diagram = diagram;
     _docView = docView;
 }
Example #11
0
        protected override void OnDocumentWindowChanged(ModelingDocView oldView, ModelingDocView newView)
        {
            if (newView == null && oldView != null)
            {
                //The model is being unloaded
                var m = oldView.DocData.RootElement as nHydrate.Dsl.nHydrateModel;
                if (m == null)
                {
                    return;
                }
                _loadedModels.Remove(m.Id);

                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.nHydrateModel)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ModelChanged));

                #region Entity
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region View
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region Stored Procedure
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #region Parameter
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region Function
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #region Parameter
                oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
                    oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                return;
            }

            //When the old view is null this is the first time. Only load the first time
            if (newView == null)
            {
                return;
            }

            //Reload model if necessary
            _model = newView.DocData.RootElement as nHydrate.Dsl.nHydrateModel;
            if (_model == null)
            {
                return;
            }
            _diagram = ((Microsoft.VisualStudio.Modeling.Shell.SingleDiagramDocView)newView).CurrentDesigner.DocView;
            _docView = newView.DocData;

            //This model is already hooked
            if (!_loadedModels.Contains(_model.Id))
            {
                _loadedModels.Add(_model.Id);

                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.nHydrateModel)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ModelChanged));

                #region Entity
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region View
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region Stored Procedure
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #region Parameter
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion

                #region Function
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

                #region Field
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #region Parameter
                newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

                newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

                newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
                    newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
                    new EventHandler <Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
                #endregion

                #endregion
            }

            _findControl.SetupObjects(_model, _diagram, _docView);
            base.OnDocumentWindowChanged(oldView, newView);
        }
		public void SetupObjects(nHydrate.Dsl.nHydrateModel model, DiagramDocView diagram, ModelingDocData docView)
		{
			_model = model;
			_diagram = diagram;
			_docView = docView;
		}
Example #13
0
		public void SetupObjects(nHydrate.Dsl.nHydrateModel model, DiagramDocView diagram, ModelingDocData docView)
		{
			_model = model;
			_diagram = diagram;
			_docData = docView;
			
			_modelElements.Clear();

			//Add Entities
			foreach (var item in _model.Entities.OrderBy(x => x.Name))
			{
				_modelElements.Add(item);
			}

			//if ((_model.DiagramVisibility & Dsl.VisibilityTypeConstants.View) == Dsl.VisibilityTypeConstants.View)
			{
				//Add Views
				foreach (var item in _model.Views.OrderBy(x => x.Name))
				{
					_modelElements.Add(item);
				}
			}

			//if ((_model.DiagramVisibility & Dsl.VisibilityTypeConstants.StoredProcedure) == Dsl.VisibilityTypeConstants.StoredProcedure)
			{
				//Add StoredProcedures
				foreach (var item in _model.StoredProcedures.OrderBy(x => x.Name))
				{
					_modelElements.Add(item);
				}
			}

			//if ((_model.DiagramVisibility & Dsl.VisibilityTypeConstants.Function) == Dsl.VisibilityTypeConstants.Function)
			{
				//Add Functions
				foreach (var item in _model.Functions.OrderBy(x => x.Name))
				{
					_modelElements.Add(item);
				}
			}

			DisplayObjects();

		}
Example #14
0
        public override void ExecCommand(MenuCommand menuCommand)
        {
            DiagramDocView diagramDocView = GetCurrentSelectedPersistentType().DiagramDocView;

            new DiagramUtil().GetDiagramClientView(diagramDocView.CurrentDiagram).ZoomToFit();
        }
Example #15
0
		protected override void OnDocumentWindowChanged(ModelingDocView oldView, ModelingDocView newView)
		{
			if (newView == null && oldView != null)
			{
				//The model is being unloaded
				var m = oldView.DocData.RootElement as nHydrate.Dsl.nHydrateModel;
				if (m == null) return;
				_loadedModels.Remove(m.Id);

				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.nHydrateModel)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ModelChanged));

				#region Entity
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region View
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region Stored Procedure
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#region Parameter
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region Function
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#region Parameter
				oldView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				oldView.DocData.Store.EventManagerDirectory.ElementAdded.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				oldView.DocData.Store.EventManagerDirectory.ElementDeleted.Remove(
					oldView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				return;
			}

			//When the old view is null this is the first time. Only load the first time
			if (newView == null)
				return;
			
			//Reload model if necessary
			_model = newView.DocData.RootElement as nHydrate.Dsl.nHydrateModel;
			if (_model == null) return;
			_diagram = ((Microsoft.VisualStudio.Modeling.Shell.SingleDiagramDocView)newView).CurrentDesigner.DocView;
			_docView = newView.DocData;

			//This model is already hooked
			if (!_loadedModels.Contains(_model.Id))
			{
				_loadedModels.Add(_model.Id);

				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.nHydrateModel)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ModelChanged));

				#region Entity
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Entity)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Field)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region View
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.View)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.ViewField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region Stored Procedure
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedure)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#region Parameter
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.StoredProcedureParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

				#region Function
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.Function)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));

				#region Field
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionField)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#region Parameter
				newView.DocData.Store.EventManagerDirectory.ElementPropertyChanged.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementPropertyChangedEventArgs>(ElementChanged));

				newView.DocData.Store.EventManagerDirectory.ElementAdded.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementAddedEventArgs>(ElementAddHandler));

				newView.DocData.Store.EventManagerDirectory.ElementDeleted.Add(
					newView.DocData.Store.DomainDataDirectory.FindDomainClass(typeof(nHydrate.Dsl.FunctionParameter)),
					new EventHandler<Microsoft.VisualStudio.Modeling.ElementDeletedEventArgs>(ElementDeleteHandler));
				#endregion

				#endregion

			}

			_findControl.SetupObjects(_model, _diagram, _docView);
			base.OnDocumentWindowChanged(oldView, newView);

		}