Esempio n. 1
0
        private void addTaggedValueBox(int rowIndex, ArtifactXmlReader reader, TaggedValueVO tgv)
        {
            int           longerLine;
            TaggedValueVO leftTgv   = tgv;
            TaggedValueVO rightTgv  = tgv;
            string        leftText  = "";
            string        rightText = "";
            ListBox       listL     = makeNewListBox();
            ListBox       listR     = makeNewListBox();

            switch (tgv.changed)
            {
            case 'U':
                leftTgv  = reader.readTaggedValueDiffDetail(tgv.guid, "L");
                rightTgv = reader.readTaggedValueDiffDetail(tgv.guid, "R");
                DiffPresenter.getDisagreedTaggedValueDesc(leftTgv, rightTgv, ref leftText, ref rightText);

                leftDiffBuffer  = new StringBuilder();
                rightDiffBuffer = new StringBuilder();
                var simpleDiff = new SimpleDiff <string>(leftText.Split('\n'), rightText.Split('\n'));
                simpleDiff.LineUpdate += new EventHandler <DiffEventArgs <string> >(ElementDiff_LineUpdate);
                simpleDiff.RunDiff();

                leftText  = leftDiffBuffer.ToString();
                rightText = rightDiffBuffer.ToString();

                selectedTag = rightTgv;
                leftDiffBuffer.Clear();
                rightDiffBuffer.Clear();
                break;

            case 'C':
                rightTgv = reader.readTaggedValueDiffDetail(tgv.guid, "R");
                DiffPresenter.getMonoTaggedValueDesc(rightTgv, ref rightText);

                selectedTag = rightTgv;
                break;

            case 'D':
                leftTgv = reader.readTaggedValueDiffDetail(tgv.guid, "L");
                DiffPresenter.getMonoTaggedValueDesc(leftTgv, ref leftText);

                selectedTag = leftTgv;
                break;

            default:
                break;
            }

            longerLine = getLongerLine(leftText, rightText);

            setListItems(listL, leftText);
            setListItems(listR, rightText);
            setListBoxSize(listL, leftText, longerLine);
            setListBoxSize(listR, rightText, longerLine);

            if (tgv.changed == 'D' || tgv.changed == 'U')
            {
                listL.Tag = leftTgv;
                listL.ContextMenuStrip = contextMenuStrip1;
                listL.Click           += new System.EventHandler(this.TaggedValueListClick);
                //					listL.Click += new System.EventHandler(this.MethodTextClick);
            }

            if (tgv.changed == 'C' || tgv.changed == 'U')
            {
                listR.Tag = rightTgv;
                listR.ContextMenuStrip = contextMenuStrip1;
                listR.Click           += new System.EventHandler(this.TaggedValueListClick);
                //					listR.Click += new System.EventHandler(this.MethodTextClick);
            }

            tableLayoutPanel1.Controls.Add(listL, 0, rowIndex);
            tableLayoutPanel1.Controls.Add(listR, 1, rowIndex);

            return;
        }