Пример #1
0
        /// <summary>
        /// 获取选中对象
        /// </summary>
        /// <param name="e">事件数据</param>
        /// <param name="eventType">事件类型</param>
        /// <returns>选中对象</returns>
        private WfElement GetWfElement(MouseButtonEventArgs e, EventType eventType)
        {
            WfElement element = new WfElement();

            element.X         = e.GetPosition(null).X;
            element.Y         = e.GetPosition(null).Y;
            element.EventType = eventType;
            if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is WorkflowRuntime.ViewModels.DiagramPageViewModel)
            {
                element.SrcElement = SrcElement.Null;
                element.ExtraInfo  = string.Empty;
            }
            else if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is Northwoods.GoXam.PartManager.PartBinding &&
                     ((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Node != null)
            {
                string selectedNodeID = ((WorkflowRuntime.Models.ActivityNode)(((Northwoods.GoXam.Part)(((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Node)).Data)).InstanceID;

                element.ExtraInfo  = GetExtraInfo(SrcElement.Point, selectedNodeID);
                element.SrcElement = SrcElement.Point;
            }
            else if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is Northwoods.GoXam.PartManager.PartBinding &&
                     ((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Link != null)
            {
                string selectedLineID = ((WorkflowRuntime.Models.ActivityLink)(((Northwoods.GoXam.Part)(((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Link)).Data)).Key;

                element.ExtraInfo  = GetExtraInfo(SrcElement.Line, selectedLineID);
                element.SrcElement = SrcElement.Line;
            }
            return(element);
        }
Пример #2
0
        /// <summary>
        /// 调用事件处理方法
        /// </summary>
        /// <param name="element">选中对象</param>
        private void WfElementClicked(WfElement element)
        {
            string js = @"var data={}; data.eventType='" + ((int)element.EventType).ToString() + "';data.x=" + element.X.ToString() + ";data.y=" + element.Y.ToString() + ";data.extraInfo='" + element.ExtraInfo + "';data.srcElement='" + ((int)element.SrcElement).ToString() + "'; if (typeof OnWfElementClicked != 'undefined'& typeof OnWfElementClicked =='function') OnWfElementClicked(data);";

            HtmlPage.Window.Eval(js);
        }
Пример #3
0
 /// <summary>
 /// 调用事件处理方法
 /// </summary>
 /// <param name="element">选中对象</param>
 private void WfElementClicked(WfElement element)
 {
     string js = @"var data={}; data.eventType='" + ((int)element.EventType).ToString() + "';data.x=" + element.X.ToString() + ";data.y=" + element.Y.ToString() + ";data.extraInfo='" + element.ExtraInfo + "';data.srcElement='" + ((int)element.SrcElement).ToString() + "'; if (typeof OnWfElementClicked != 'undefined'& typeof OnWfElementClicked =='function') OnWfElementClicked(data);";
     HtmlPage.Window.Eval(js);
 }
Пример #4
0
        /// <summary>
        /// 获取选中对象
        /// </summary>
        /// <param name="e">事件数据</param>
        /// <param name="eventType">事件类型</param>
        /// <returns>选中对象</returns>
        private WfElement GetWfElement(MouseButtonEventArgs e, EventType eventType)
        {
            WfElement element = new WfElement();
            element.X = e.GetPosition(null).X;
            element.Y = e.GetPosition(null).Y;
            element.EventType = eventType;
            if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is WorkflowRuntime.ViewModels.DiagramPageViewModel)
            {
                element.SrcElement = SrcElement.Null;
                element.ExtraInfo = string.Empty;
            }
            else if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is Northwoods.GoXam.PartManager.PartBinding
                && ((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Node != null)
            {
                string selectedNodeID = ((WorkflowRuntime.Models.ActivityNode)(((Northwoods.GoXam.Part)(((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Node)).Data)).InstanceID;

                element.ExtraInfo = GetExtraInfo(SrcElement.Point, selectedNodeID);
                element.SrcElement = SrcElement.Point;

            }
            else if (((System.Windows.FrameworkElement)e.OriginalSource).DataContext is Northwoods.GoXam.PartManager.PartBinding
                && ((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Link != null)
            {
                string selectedLineID = ((WorkflowRuntime.Models.ActivityLink)(((Northwoods.GoXam.Part)(((Northwoods.GoXam.PartManager.PartBinding)(((System.Windows.FrameworkElement)(((System.Windows.RoutedEventArgs)(e)).OriginalSource)).DataContext)).Link)).Data)).Key;

                element.ExtraInfo = GetExtraInfo(SrcElement.Line, selectedLineID);
                element.SrcElement = SrcElement.Line;
            }
            return element;
        }