Ejemplo n.º 1
0
        private void Link_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            e.Handled = true;
            Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((sender as FrameworkElement).DataContext);
            ActivityLink linkData = currentBinding.Data as ActivityLink;

            if (linkData == null)
            {
                return;
            }

            string strKey = string.Format("{0}@{1}", this.mainDiagram.Tag.ToString(), linkData.Key);

            if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0)
            {
                this.WebMethod.LoadProperty(WorkflowUtils.CLIENTSCRIPT_PARAM_TRANSITION,
                                            this.mainDiagram.Tag.ToString(),
                                            WorkflowUtils.ExtractTransitionInfoJson(linkData));

                WorkflowUtils.CurrentKey = strKey;
            }
        }
Ejemplo n.º 2
0
        private void ContextMenu_Opened(object sender, RoutedEventArgs e)
        {
            //var position = this.mainDiagram.LastMousePointInModel;
            //ContextMenuService.GetContextMenu(sender as FrameworkElement);
            //(sender as Shared.Silverlight.Controls.ContextMenu).OpenPopup(position);

            Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((sender as FrameworkElement).DataContext);
            ActivityNode nodeData = currentBinding.Data as ActivityNode;

            if (nodeData == null)
            {
                return;
            }

            string strKey = string.Format("{0}@{1}", this.mainDiagram.Tag.ToString(), nodeData.Key);

            if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0)
            {
                HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, this.mainDiagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(nodeData));

                WorkflowUtils.CurrentKey = strKey;
            }
        }
Ejemplo n.º 3
0
        public override void DoMouseDown()
        {
            base.DoMouseDown();

            Diagram diagram = this.Diagram;

            if (diagram == null)
            {
                return;
            }

            //得到当前的Part
            Part currentPart = FindPartAt(diagram.LastMousePointInModel, true);

            if (currentPart == null)
            {
                //活动上下文菜单
                var form = this.Diagram.PartsModel.FindNodeByKey(DiagramPage.ACTCONTEXT_MENU);

                if (form != null)
                {
                    form.Visible = false;
                }

                //流程上下文菜单
                form = this.Diagram.PartsModel.FindNodeByKey(DiagramPage.WFCONTEXT_MENU);

                if (form != null)
                {
                    form.Visible = false;
                }

                //如果Part和当前Part不一致,则切换属性
                if (string.Compare(diagram.Tag.ToString(), WorkflowUtils.CurrentKey) != 0)
                {
                    HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_WORKFLOW, diagram.Tag.ToString(), WorkflowUtils.ExtractWorkflowInfoJson(diagram));
                    WorkflowUtils.CurrentKey = diagram.Tag.ToString();
                }
            }
            else
            {
                if (currentPart.DataContext is Northwoods.GoXam.PartManager.PartBinding)
                {
                    Northwoods.GoXam.PartManager.PartBinding currentBinding = (Northwoods.GoXam.PartManager.PartBinding)((currentPart as FrameworkElement).DataContext);

                    if (currentBinding.Data == null)
                    {
                        return;
                    }

                    if (currentBinding.Data is ActivityNode)
                    {
                        ActivityNode nodeData = currentBinding.Data as ActivityNode;

                        if (nodeData == null)
                        {
                            return;
                        }

                        string strKey = string.Format("{0}@{1}", diagram.Tag.ToString(), nodeData.Key);

                        if (string.Compare(strKey, WorkflowUtils.CurrentKey) != 0)
                        {
                            HtmlPage.Window.Invoke("LoadProperty", WorkflowUtils.CLIENTSCRIPT_PARAM_ACTIVITY, diagram.Tag.ToString(), WorkflowUtils.ExtractActivityInfoJson(nodeData));
                            WorkflowUtils.CurrentKey = strKey;
                        }
                    }
                }
            }
        }