private void addAttributeBox(int rowIndex, ArtifactXmlReader reader, AttributeVO attr) { int longerLine; AttributeVO leftAttr = attr; AttributeVO rightAttr = attr; string leftText = ""; string rightText = ""; ListBox listL = makeNewListBox(); ListBox listR = makeNewListBox(); switch (attr.changed) { case 'U': leftAttr = reader.readAttributeDiffDetail(attr.guid, "L"); rightAttr = reader.readAttributeDiffDetail(attr.guid, "R"); DiffPresenter.getDisagreedAttributeDesc(leftAttr, rightAttr, ref leftText, ref rightText); selectedAttribute = rightAttr; break; case 'C': rightAttr = reader.readAttributeDiffDetail(attr.guid, "R"); DiffPresenter.getMonoAttributeDesc(rightAttr, ref rightText); selectedAttribute = rightAttr; break; case 'D': leftAttr = reader.readAttributeDiffDetail(attr.guid, "L"); DiffPresenter.getMonoAttributeDesc(leftAttr, ref leftText); selectedAttribute = leftAttr; break; default: break; } longerLine = getLongerLine(leftText, rightText); setListItems(listL, leftText); setListItems(listR, rightText); setListBoxSize(listL, leftText, longerLine); setListBoxSize(listR, rightText, longerLine); if (attr.changed == 'D' || attr.changed == 'U') { listL.Tag = leftAttr; listL.ContextMenuStrip = contextMenuStrip1; listL.Click += new System.EventHandler(this.AttributeListClick); // listL.Click += new System.EventHandler(this.AttributeTextClick); } if (attr.changed == 'C' || attr.changed == 'U') { listR.Tag = rightAttr; listR.ContextMenuStrip = contextMenuStrip1; listR.Click += new System.EventHandler(this.AttributeListClick); // listR.Click += new System.EventHandler(this.AttributeTextClick); } tableLayoutPanel1.Controls.Add(listL, 0, rowIndex); tableLayoutPanel1.Controls.Add(listR, 1, rowIndex); return; }
private void addElementLabels(ElementVO elem) { int rowIndex = 0; string leftText, rightText; int longerLine; AttributeVO leftAttr, rightAttr; MethodVO leftMth, rightMth; string artifactsDir = ProjectSetting.getVO().projectPath + "\\" + ProjectSetting.getVO().artifactsPath; ArtifactXmlReader reader = new ArtifactXmlReader(artifactsDir); tableLayoutPanel1.RowCount = elem.attributes.Count + elem.methods.Count; foreach (AttributeVO a in elem.attributes) { leftAttr = a; rightAttr = a; leftText = ""; rightText = ""; // TextBox txtL = new TextBox(); // txtL.BackColor = Color.LightCyan; // // TextBox txtR = new TextBox(); // txtR.BackColor = Color.LightYellow; ListBox listL = new ListBox(); listL.DrawMode = DrawMode.OwnerDrawFixed; // EventHandlerの追加 listL.DrawItem += new DrawItemEventHandler(ListBox_DrawItem); ListBox listR = new ListBox(); listR.DrawMode = DrawMode.OwnerDrawFixed; // EventHandlerの追加 listR.DrawItem += new DrawItemEventHandler(ListBox_DrawItem); switch (a.changed) { case 'U': leftAttr = reader.readAttributeDiffDetail(a.guid, "L"); rightAttr = reader.readAttributeDiffDetail(a.guid, "R"); getDisagreedAttributeDesc(leftAttr, rightAttr, ref leftText, ref rightText); break; case 'C': rightAttr = reader.readAttributeDiffDetail(a.guid, "R"); getMonoAttributeDesc(rightAttr, ref rightText); break; case 'D': leftAttr = reader.readAttributeDiffDetail(a.guid, "L"); getMonoAttributeDesc(leftAttr, ref leftText); break; default: break; } longerLine = getLongerLine(leftText, rightText); setListItems(listL, leftText); setListItems(listR, rightText); setListBoxSize(listL, leftText, longerLine); setListBoxSize(listR, rightText, longerLine); // txtR.Text = rightText; // txtL.Text = leftText; // setTextBoxSize(txtL, leftText, longerLine); // setTextBoxSize(txtR, rightText, longerLine); if (a.changed == 'D' || a.changed == 'U') { listL.Tag = leftAttr; listL.ContextMenuStrip = contextMenuStrip1; listL.Click += new System.EventHandler(this.AttributeListClick); // listL.Click += new System.EventHandler(this.AttributeTextClick); } if (a.changed == 'C' || a.changed == 'U') { listR.Tag = rightAttr; listR.ContextMenuStrip = contextMenuStrip1; listR.Click += new System.EventHandler(this.AttributeListClick); // listR.Click += new System.EventHandler(this.AttributeTextClick); } tableLayoutPanel1.Controls.Add(listL, 0, rowIndex); tableLayoutPanel1.Controls.Add(listR, 1, rowIndex); rowIndex++; } foreach (MethodVO m in elem.methods) { leftMth = m; rightMth = m; leftText = ""; rightText = ""; // TextBox txtL = new TextBox(); // txtL.BackColor = Color.White; // // TextBox txtR = new TextBox(); // txtR.BackColor = Color.White; ListBox listL = new ListBox(); listL.DrawMode = DrawMode.OwnerDrawFixed; // EventHandlerの追加 listL.DrawItem += new DrawItemEventHandler(ListBox_DrawItem); ListBox listR = new ListBox(); listR.DrawMode = DrawMode.OwnerDrawFixed; // EventHandlerの追加 listR.DrawItem += new DrawItemEventHandler(ListBox_DrawItem); switch (m.changed) { case 'U': leftMth = reader.readMethodDiffDetail(m.guid, "L"); rightMth = reader.readMethodDiffDetail(m.guid, "R"); getDisagreedMethodDesc(leftMth, rightMth, 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(); leftDiffBuffer.Clear(); rightDiffBuffer.Clear(); break; case 'C': rightMth = reader.readMethodDiffDetail(m.guid, "R"); getMonoMethodDesc(rightMth, ref rightText); break; case 'D': leftMth = reader.readMethodDiffDetail(m.guid, "L"); getMonoMethodDesc(leftMth, ref leftText); break; default: break; } longerLine = getLongerLine(leftText, rightText); setListItems(listL, leftText); setListItems(listR, rightText); setListBoxSize(listL, leftText, longerLine); setListBoxSize(listR, rightText, longerLine); // txtL.Text = leftText; // txtR.Text = rightText; // setTextBoxSize(txtL, leftText, longerLine); // setTextBoxSize(txtR, rightText, longerLine); if (m.changed == 'D' || m.changed == 'U') { listL.Tag = leftMth; listL.ContextMenuStrip = contextMenuStrip1; listL.Click += new System.EventHandler(this.MethodListClick); // listL.Click += new System.EventHandler(this.MethodTextClick); } if (m.changed == 'C' || m.changed == 'U') { listR.Tag = rightMth; listR.ContextMenuStrip = contextMenuStrip1; listR.Click += new System.EventHandler(this.MethodListClick); // listR.Click += new System.EventHandler(this.MethodTextClick); } tableLayoutPanel1.Controls.Add(listL, 0, rowIndex); tableLayoutPanel1.Controls.Add(listR, 1, rowIndex); rowIndex++; } }