From 56756c7e5321503a3b64f22f8173e31bf6884b17 Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Wed, 24 May 2017 10:39:44 +0200 Subject: [PATCH 1/6] git ignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..59fc676 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +bin/ +obj/ From 22466990a82b5dd14987f1a7c603748f8139d787 Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Wed, 24 May 2017 14:46:33 +0200 Subject: [PATCH 2/6] add: type to diagram --- XSDDiagrams/Rendering/DiagramGdiRenderer.cs | 5 ++++- XSDDiagrams/Rendering/DiagramItem.cs | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs index c1a46ae..44605b5 100644 --- a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs +++ b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs @@ -492,7 +492,10 @@ namespace XSDDiagram.Rendering stringFormatText.Alignment = StringAlignment.Center; stringFormatText.LineAlignment = StringAlignment.Center; stringFormatText.FormatFlags |= StringFormatFlags.NoClip; //MONOFIX - _graphics.DrawString(drawingItem.Name, drawingItem.FontScaled, foreground, new RectangleF(scaledElementBox.X, scaledElementBox.Y, scaledElementBox.Width, scaledElementBox.Height), stringFormatText); + + + string type = drawingItem.GetTypeAnnotation(); + _graphics.DrawString(drawingItem.Name +" : "+type,drawingItem.FontScaled, foreground, new RectangleF(scaledElementBox.X, scaledElementBox.Y, scaledElementBox.Width, scaledElementBox.Height), stringFormatText); } // Draw Documentation diff --git a/XSDDiagrams/Rendering/DiagramItem.cs b/XSDDiagrams/Rendering/DiagramItem.cs index 3ed1727..a5602d8 100644 --- a/XSDDiagrams/Rendering/DiagramItem.cs +++ b/XSDDiagrams/Rendering/DiagramItem.cs @@ -484,6 +484,24 @@ namespace XSDDiagram.Rendering return _diagram.ScaleRectangle(rectangle); } + public String GetTypeAnnotation() + { + string text = null; + XMLSchema.element element = this.TabSchema as XMLSchema.element; + + if (element != null) + { + String t = "" + element.type; + int idx = t.LastIndexOf(':'); + + return t.Substring(idx + 1); + + + } + + return text; + } + public string GetTextDocumentation() { string text = null; From 67c613b701b6f410af4540679e281b2212229d8b Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Wed, 24 May 2017 17:15:09 +0200 Subject: [PATCH 3/6] fix: add type in diagram.cs --- XSDDiagrams/Rendering/Diagram.cs | 8 +++++--- XSDDiagrams/Rendering/DiagramGdiRenderer.cs | 6 ++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/XSDDiagrams/Rendering/Diagram.cs b/XSDDiagrams/Rendering/Diagram.cs index c6b6707..0a019c7 100644 --- a/XSDDiagrams/Rendering/Diagram.cs +++ b/XSDDiagrams/Rendering/Diagram.cs @@ -143,7 +143,8 @@ namespace XSDDiagram.Rendering childDiagramElement.Diagram = this; childDiagramElement.TabSchema = childElement; - childDiagramElement.Name = childElement.name != null ? childElement.name : ""; + string type = childDiagramElement.GetTypeAnnotation(); + childDiagramElement.Name = childElement.name != null ? childElement.name + " : " + type : ""; childDiagramElement.NameSpace = nameSpace; childDiagramElement.ItemType = DiagramItemType.element; int occurrence; @@ -225,8 +226,9 @@ namespace XSDDiagram.Rendering { DiagramItem childDiagramElement = new DiagramItem(); childDiagramElement.Diagram = this; - childDiagramElement.TabSchema = childElement; - childDiagramElement.Name = childElement.name != null ? childElement.name : ""; + childDiagramElement.TabSchema = childElement; + + childDiagramElement.Name = childElement.name != null ? childElement.name : ""; childDiagramElement.NameSpace = nameSpace; childDiagramElement.ItemType = DiagramItemType.type; childDiagramElement.MinOccurrence = 1; diff --git a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs index 44605b5..b29e8fa 100644 --- a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs +++ b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs @@ -492,10 +492,8 @@ namespace XSDDiagram.Rendering stringFormatText.Alignment = StringAlignment.Center; stringFormatText.LineAlignment = StringAlignment.Center; stringFormatText.FormatFlags |= StringFormatFlags.NoClip; //MONOFIX - - - string type = drawingItem.GetTypeAnnotation(); - _graphics.DrawString(drawingItem.Name +" : "+type,drawingItem.FontScaled, foreground, new RectangleF(scaledElementBox.X, scaledElementBox.Y, scaledElementBox.Width, scaledElementBox.Height), stringFormatText); + + _graphics.DrawString(drawingItem.Name,drawingItem.FontScaled, foreground, new RectangleF(scaledElementBox.X, scaledElementBox.Y, scaledElementBox.Width, scaledElementBox.Height), stringFormatText); } // Draw Documentation From 54bc647d52e3ceb6e07948a7e0ecf452cc23ff16 Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Thu, 1 Jun 2017 18:03:43 +0200 Subject: [PATCH 4/6] change: name and type in one line --- XSDDiagrams/Rendering/Diagram.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/XSDDiagrams/Rendering/Diagram.cs b/XSDDiagrams/Rendering/Diagram.cs index 0a019c7..156e065 100644 --- a/XSDDiagrams/Rendering/Diagram.cs +++ b/XSDDiagrams/Rendering/Diagram.cs @@ -144,7 +144,7 @@ namespace XSDDiagram.Rendering childDiagramElement.Diagram = this; childDiagramElement.TabSchema = childElement; string type = childDiagramElement.GetTypeAnnotation(); - childDiagramElement.Name = childElement.name != null ? childElement.name + " : " + type : ""; + childDiagramElement.Name = childElement.name != null ? childElement.name + "::" + type : ""; childDiagramElement.NameSpace = nameSpace; childDiagramElement.ItemType = DiagramItemType.element; int occurrence; From 79556d733c7a473710fca607cf6c9ac74b7e508d Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Thu, 1 Jun 2017 18:17:02 +0200 Subject: [PATCH 5/6] show occurence always --- XSDDiagrams/Rendering/DiagramGdiRenderer.cs | 6 +++--- XSDDiagrams/Rendering/DiagramItem.cs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs index b29e8fa..59d59cf 100644 --- a/XSDDiagrams/Rendering/DiagramGdiRenderer.cs +++ b/XSDDiagrams/Rendering/DiagramGdiRenderer.cs @@ -522,7 +522,7 @@ namespace XSDDiagram.Rendering } // Draw occurences small text - if (drawingItem.MaxOccurrence > 1 || drawingItem.MaxOccurrence == -1) + // if (drawingItem.MaxOccurrence > 1 || drawingItem.MaxOccurrence == -1) { StringFormat stringFormatOccurences = new StringFormat(); stringFormatOccurences.Alignment = StringAlignment.Far; @@ -531,8 +531,8 @@ namespace XSDDiagram.Rendering //string occurences = string.Format("{0}..", drawingItem.MinOccurrence) + (drawingItem.MaxOccurrence == -1 ? "\u0066∞" : string.Format("{0}", drawingItem.MaxOccurrence)); string occurences = string.Format("{0}..", drawingItem.MinOccurrence) + (drawingItem.MaxOccurrence == -1 ? "\u221E" : string.Format("{0}", drawingItem.MaxOccurrence)); PointF pointOccurences = new PointF(); - pointOccurences.X = drawingItem.Diagram.Scale * (drawingItem.Location.X + drawingItem.Size.Width - 10); - pointOccurences.Y = drawingItem.Diagram.Scale * (drawingItem.Location.Y + drawingItem.Size.Height + 10); + pointOccurences.X = drawingItem.Diagram.Scale * (drawingItem.Location.X + drawingItem.Size.Width + 20); + pointOccurences.Y = drawingItem.Diagram.Scale * (drawingItem.Location.Y + drawingItem.Size.Height - 17 ); _graphics.DrawString(occurences, drawingItem.SmallFontScaled, foreground, pointOccurences, stringFormatOccurences); } diff --git a/XSDDiagrams/Rendering/DiagramItem.cs b/XSDDiagrams/Rendering/DiagramItem.cs index a5602d8..885c94a 100644 --- a/XSDDiagrams/Rendering/DiagramItem.cs +++ b/XSDDiagrams/Rendering/DiagramItem.cs @@ -76,9 +76,9 @@ namespace XSDDiagram.Rendering _childExpandButtonBox = Rectangle.Empty; _boundingBox = Rectangle.Empty; _documentationMinWidth = 100; - _size = new Size(50, 25); + _size = new Size(100, 25); _margin = new Size(10, 5); - _padding = new Size(10, 15); + _padding = new Size(10, 2); _itemType = DiagramItemType.element; _childElements = new List(); } From a0e14dff83d12569dd8ada6de04165a7832bc90b Mon Sep 17 00:00:00 2001 From: EIDMANN Andreas Date: Mon, 19 Jun 2017 14:20:05 +0200 Subject: [PATCH 6/6] change: show occurance in svg --- XSDDiagrams/Rendering/DiagramSvgRenderer.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/XSDDiagrams/Rendering/DiagramSvgRenderer.cs b/XSDDiagrams/Rendering/DiagramSvgRenderer.cs index 171e14c..67353b3 100644 --- a/XSDDiagrams/Rendering/DiagramSvgRenderer.cs +++ b/XSDDiagrams/Rendering/DiagramSvgRenderer.cs @@ -507,13 +507,13 @@ namespace XSDDiagram.Rendering } // Draw occurences small text - if (drawingItem.MaxOccurrence > 1 || drawingItem.MaxOccurrence == -1) + // if (drawingItem.MaxOccurrence > 1 || drawingItem.MaxOccurrence == -1) { string occurences = String.Format("{0}..", drawingItem.MinOccurrence) + (drawingItem.MaxOccurrence == -1 ? "∞" : string.Format("{0}", drawingItem.MaxOccurrence)); PointF pointOccurences = new PointF(); - pointOccurences.X = drawingItem.Diagram.Scale * (drawingItem.Location.X + drawingItem.Size.Width - 10); - pointOccurences.Y = drawingItem.Diagram.Scale * (drawingItem.Location.Y + drawingItem.Size.Height + 10); + pointOccurences.X = drawingItem.Diagram.Scale * (drawingItem.Location.X + drawingItem.Size.Width + 20); + pointOccurences.Y = drawingItem.Diagram.Scale * (drawingItem.Location.Y + drawingItem.Size.Height - 17); string style = String.Format( "font-family:{0};font-size:{1}pt;fill:{2};text-anchor:end;dominant-baseline:central", drawingItem.SmallFont.Name, drawingItem.SmallFont.Size * fontScale, foregroundColor);