private void DrawVerticalLines(SequenceDiagram sequenceDiagram)
 {
     foreach (var node in _nodeMiddlePoints)
     {
         _context.DrawLine(new Pen(Brushes.Black, 1), new Point(node.Value, 45), new Point(node.Value, _diagramSize.Height));
     }
 }
 private void DrawAllNodes(SequenceDiagram sequenceDiagram)
 {
     foreach (var node in sequenceDiagram.Nodes)
     {
         DrawNode(node);
     }
 }
示例#3
0
    public void HandleInitDiagram(JObject data)
    {
        //parse and store mapping
        fileMap = data.Value <JObject>("fileMap");

        GameObject tmp = Instantiate(seqTest, diagramObj);

        tmp.name = "#" + this.diagramCount; // set name of generated diagram


        if (diagramCount == 0)
        {
            tmp.transform.position = new Vector3(0, 0, 0);
            tmp.layer = 8;
            SetLayerRecursively(tmp, 8);
        }
        else
        {
            RectTransform rt    = (RectTransform)prev.transform;
            float         width = rt.rect.width;
            tmp.transform.position = prev.transform.position + new Vector3(width + 50, 0, 0);
            tmp.layer = LayerMask.NameToLayer("2");
            Debug.Log("LAYER " + tmp.layer);
            SetLayerRecursively(tmp, tmp.layer);
        }

        this.sequenceDiagram = tmp.GetComponent <SequenceDiagram>(); // set actual json diagram


        this.sequenceDiagram.setLoops(data.Value <JArray>("loops").ToObject <IList <IList> >());


        this.diagramCount++; // increment for another diagram
        prev = tmp;
    }
 protected RepositoryFixtureBase(IRepository repository)
 {
     this.sequenceDiagram = new SequenceDiagram();
     Repository           = repository;
     Repository.Config.Set("user.name", "Test");
     Repository.Config.Set("user.email", "*****@*****.**");
 }
 private void DrawAllDiagramElements(SequenceDiagram sequenceDiagram)
 {
     foreach (var cont in sequenceDiagram.Content)
     {
         DrawDiagramElement(cont);
     }
 }
示例#6
0
        public static void Dump(this SequenceDiagram result)
        {
            QueryExecutionContext context = QueryExecutionContext.Current;
            Action <object>       onNext;
            Action <Exception>    onError;
            Action onComplete;

            context.OnDumpStart(typeof(SequenceDiagram), result,
                                out onNext,
                                out onComplete,
                                out onError);
            try
            {
                if (onNext != null)
                {
                    onNext(result);
                }
            }
            catch (Exception ex)
            {
                onError(ex);
            }
            finally
            {
                onComplete();
            }
        }
 private void DrawAllNodes(SequenceDiagram sequenceDiagram)
 {
     foreach (var node in sequenceDiagram.Nodes)
     {
         _diagramSize = DrawNode(_diagramSize, node);
     }
 }
示例#8
0
        public void AstBuilderConstructorTest()
        {
            var          diagram = new SequenceDiagram();
            ModelBuilder target  = new ModelBuilder(diagram);

            Assert.AreEqual(diagram, target.Diagram);
        }
        private void CopyToClipboard_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            // Clone this sequence diagram
            SequenceDiagram seq = m_sequenceDiagram;

            // Measure and re-arrange
            Size size = new Size(double.PositiveInfinity, double.PositiveInfinity);

            seq.Measure(size);

            Rect rect = new Rect(seq.DesiredSize);

            seq.Arrange(rect);

            // Render the sequence to a bitmap
            var drawingVisual  = new DrawingVisual();
            var drawingContext = drawingVisual.RenderOpen();

            drawingContext.DrawRectangle(Background, null, rect);
            drawingContext.Close();

            int width = (int)rect.Width, height = (int)rect.Height;
            RenderTargetBitmap bmp = new RenderTargetBitmap(width, height, 96, 96, PixelFormats.Pbgra32);

            bmp.Render(drawingVisual);
            bmp.Render(seq);

            // Copy to clipboard
            Clipboard.SetImage(bmp);

            // Restore the previous layout by re-arranging its container
            m_sequenceDiagramContainer.InvalidateArrange();
        }
示例#10
0
 public SequenceDiagramControl(SequenceDiagram sd)
 {
     this.sd           = sd;
     objectViewer      = new FRMObjectViewer(sd.objectDeclarations);
     interactionViewer = new FRMInteractionViewer(sd.interactionDetails, sd.objectDeclarations);
     this.ContextMenu  = new ContextMenuManager(this).CreateMenu();
     InitializeComponent();
 }
示例#11
0
        public void SetTitleTest(string expectedTitle)
        {
            var          diagram = new SequenceDiagram();
            ModelBuilder target  = new ModelBuilder(diagram);

            target.SetTitle(expectedTitle);
            Assert.AreEqual(expectedTitle, diagram.Title);
        }
示例#12
0
        public SequenceDiagram CreateSequenceDiagram()
        {
            if (!IsSequenceDiagramEmpty())
            {
                _sequenceDiagram = new SequenceDiagram(_sdRepository);

                CreateStartNode(_method.DeclaringType.Type.Identifier, _method.Name, _method.Identifier);
                ParseAllCalls(_method.Calls);
                CreateReturn(_method);
            }

            return(_sequenceDiagram);
        }
        private void DrawVerticalLines(SequenceDiagram sequenceDiagram)
        {
            foreach (var node in _nodeMiddlePoints)
            {
                var path = new SvgPath(_svgRoot, string.Format("M{0},{1}L{0},{2}",
                                                               node.Value.ToString("0.50", CultureInfo.InvariantCulture),
                                                               45,
                                                               _diagramSize.Height.ToString("0.50", CultureInfo.InvariantCulture)));
                path.StrokeWidth = 1;
                path.Stroke      = "#979797";

                _svgGraphic.Add(path);
            }
        }
        public SvgRoot RenderDiagram(SequenceDiagram sequenceDiagram)
        {
            _nodeMiddlePoints = new Dictionary <Guid, double>();
            _diagramSize      = new Size(0.5, 80.5);
            _svgRoot          = new SvgRoot(0, 0);

            DrawAllNodes(sequenceDiagram);
            DrawAllDiagramElements(sequenceDiagram);
            DrawVerticalLines(sequenceDiagram);

            _svgRoot.Height = _diagramSize.Height;
            _svgRoot.Width  = _diagramSize.Width;

            return(_svgRoot);
        }
        public DrawingVisual RenderDiagram(SequenceDiagram sequenceDiagram)
        {
            _nodeMiddlePoints = new Dictionary <Guid, double>();
            _diagramSize      = new Size(0.5, 80.5);

            var canvas = new DrawingVisual();

            _context = canvas.RenderOpen();

            DrawAllNodes(sequenceDiagram);
            DrawAllDiagramElements(sequenceDiagram);
            DrawVerticalLines(sequenceDiagram);

            _context.Close();
            return(canvas);
        }
示例#16
0
 private static void RenderDiagram(SequenceDiagram model, Controls.SequenceDiagram diagram)
 {
     diagram.Reset();
     diagram.Title           = model.Title;
     diagram.SequenceObjects = new System.Collections.ObjectModel.ObservableCollection <SequenceItem>();
     foreach (var item in model.SequenceSteps)
     {
         diagram.SequenceObjects.Add(item.Value);
     }
     //Diagram needs these to build connectors.
     diagram.UpdateLayout();
     foreach (var item in model.Connectors)
     {
         diagram.AddConnector(item.Item1, item.Item2, item.Item3);
     }
     diagram.UpdateLayout();
 }
示例#17
0
    public void setBounds(IList tmp_bounds)
    {
        this.loopBoundaries = tmp_bounds;

        bool isCondition = false;

        SequenceDiagram seqDiagram = transform.parent.parent.GetComponent <SequenceDiagram>();

        foreach (IList item in seqDiagram.getConditions())
        {
            int topBound    = int.Parse(item[0].ToString());
            int bottomBound = int.Parse(item[1].ToString());

            if (int.Parse(this.loopBoundaries[0].ToString()) == topBound && int.Parse(this.loopBoundaries[1].ToString()) == bottomBound)
            {
                isCondition = true;
            }
        }

        if (isCondition)
        {
            transform.GetChild(0).GetComponent <TextMeshProUGUI>().text = "Opt";
        }
    }
示例#18
0
 public AstBuilder(SequenceDiagram diagram)
 {
     m_Diagram = diagram;
 }
示例#19
0
 public void WriteDiagram(SequenceDiagram sd)
 {
     new DiagramDao().WriteDiagram <SequenceDiagram>(sd, sd.path);
 }