コード例 #1
0
ファイル: Overview.cs プロジェクト: wooln/AK47Source
        private void DelayBindingForObserved(Object sender, DiagramEventArgs e)
        {
            Diagram observed = sender as Diagram;

            if (observed != null)
            {
                observed.TemplateApplied -= DelayBindingForObserved;
                BindToDiagram(observed);
            }
        }
コード例 #2
0
        // event handler pro validaci myší vytvořených linků jakožto povolených vztahů z UPMM
        private void diagram_LinkDrawn(object sender, Northwoods.GoXam.DiagramEventArgs e)
        {
            Link link = (e.Part as Link);
            ClassDiagramLinkData linkData = link.Data as ClassDiagramLinkData;
            ClassDiagramNodeData fromData = link.FromData as ClassDiagramNodeData;
            ClassDiagramNodeData toData   = link.ToData as ClassDiagramNodeData;

            var isValid = CheckLink(fromData, toData, linkData, category: SelectedLinkType);

            if (!isValid)
            {
                (diagram.LinksSource as ObservableCollection <ClassDiagramLinkData>).Remove(linkData);
            }
        }
コード例 #3
0
        // event handler pro vkládání uzlu
        private void diagram_ExternalObjectsDropped(object sender, Northwoods.GoXam.DiagramEventArgs e)
        {
            ClassDiagramNodeData data = (sender as Diagram).SelectedNode.Data as ClassDiagramNodeData;

            string[] categories = { "Class" };

            if (categories.Contains(data.Category) && !AllowDuplicateNodes)
            {
                if ((sender as Diagram).Nodes.Count(x => (x.Data as ClassDiagramNodeData).IRI == data.IRI && (x.Data as ClassDiagramNodeData).Category == data.Category) > 1)
                {
                    diagram.Model.RemoveNode(data);
                }
            }
        }
コード例 #4
0
        private void diagram_LinkRelinked(object sender, Northwoods.GoXam.DiagramEventArgs e)
        {
            Link link = (e.Part as Link);
            UseCaseDiagramLinkData linkData = link.Data as UseCaseDiagramLinkData;
            UseCaseDiagramNodeData fromData = link.FromData as UseCaseDiagramNodeData;
            UseCaseDiagramNodeData toData   = link.ToData as UseCaseDiagramNodeData;

            var isValid = CheckLink(fromData, toData, linkData, linkData.Category);

            if (!isValid)
            {
                (diagram.LinksSource as ObservableCollection <UseCaseDiagramLinkData>).Remove(linkData);
            }
        }
コード例 #5
0
        // event handler pro vkládání uzlu
        private void diagram_ExternalObjectsDropped(object sender, Northwoods.GoXam.DiagramEventArgs e)
        {
            UseCaseDiagramNodeData data = null;

            if ((sender as Diagram).SelectedNode == null)
            {
                data = (sender as Diagram).SelectedGroup.Data as UseCaseDiagramNodeData;
            }
            else
            {
                data = (sender as Diagram).SelectedNode.Data as UseCaseDiagramNodeData;
            }
            string[] categories = { Constants.UML_UCD_ACTOR, Constants.UML_UCD_SYSTEM, Constants.UML_UCD_NOTE, Constants.UML_UCD_USE_CASE, Constants.UML_UCD_EDITABLE_NOTE };

            if (categories.Contains(data.Category) && !AllowDuplicateNodes)
            {
                if ((sender as Diagram).Nodes.Count(x => (x.Data as UseCaseDiagramNodeData).IRI == data.IRI && (x.Data as UseCaseDiagramNodeData).Category == data.Category) > 1)
                {
                    diagram.Model.RemoveNode(data);
                }
            }
        }
コード例 #6
0
ファイル: Overview.cs プロジェクト: jerryshi2007/AK47Source
 private void DelayBindingForObserved(Object sender, DiagramEventArgs e) {
   Diagram observed = sender as Diagram;
   if (observed != null) {
     observed.TemplateApplied -= DelayBindingForObserved;
     BindToDiagram(observed);
   }
 }
コード例 #7
0
    // return true if the DiagramEventArgs.Handled was true after calling Diagram.RaiseEvent
    internal bool RaiseEvent(int evt)









    {
      if (this.Diagram != null) {
        DiagramEventArgs e = new DiagramEventArgs();
        e.RoutedEvent = evt;
        this.Diagram.RaiseEvent(e);
        return e.Handled;
      }
      return false;
    }
コード例 #8
0
        private void UpdateRoutes(object sender, DiagramEventArgs e)
        {
            this.mainDiagram.LayoutCompleted -= UpdateRoutes;

            foreach (Link link in mainDiagram.Links)
            {
                ActivityLink linkData = link.Data as ActivityLink;
                if (linkData != null && linkData.Points != null && linkData.Points.Count() > 1)
                {
                    link.Route.Points = (IList<Point>)linkData.Points;
                }
            }
            mainDiagram.PartManager.UpdatesRouteDataPoints = true;
        }
コード例 #9
0
 private void mainDiagram_TemplateApplied(object sender, DiagramEventArgs e)
 {
     var bind = new System.Windows.Data.Binding("Scale");
     bind.Source = mainDiagram.Panel;
     bind.Mode = System.Windows.Data.BindingMode.TwoWay;
     zoomSlider.SetBinding(Slider.ValueProperty, bind);
 }