|
From: <mcu...@us...> - 2013-05-17 23:24:37
|
Revision: 1517
http://orm.svn.sourceforge.net/orm/?rev=1517&view=rev
Author: mcurland
Date: 2013-05-17 23:23:44 +0000 (Fri, 17 May 2013)
Log Message:
-----------
* Fix crash with tooltip timers. Shape deletion after a tooltip timer begins but before it fires crashes VS and results in data loss.
* Introduce nested 'and' and 'or' blocks in role path verbalization using 'where' instead of 'and'.
* Use parentheses around all negated path verbalization expressions, 'it is not true that (...)'. This reduces confusion with nested expressions. This is likely to be relaxed in the future so that simple single clause negations are not parenthesized.
* Remove some vertical whitespace from the relational view table header.
* Updated version to May 2013 in preparation for public release. refs #193
Modified Paths:
--------------
trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.VS2010.cs
trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.cs
trunk/AlternateViews/RelationalView/RelationalShape.dsl
trunk/ORMModel/ObjectModel/ObjectType.cs
trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml
trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html
trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml
trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs
trunk/ORMModel/ShapeModel/ExternalConstraintShape.cs
trunk/ORMModel/ShapeModel/FactTypeShape.cs
trunk/ORMModel/ShapeModel/ObjectTypeShape.cs
trunk/ORMModel/ShapeModel/ValueRangeShape.cs
trunk/Setup/Readme.htm
trunk/VersionGenerator.exe.config
Modified: trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.VS2010.cs
===================================================================
--- trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.VS2010.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.VS2010.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -138,7 +138,7 @@
{
get
{
- return new DslDiagrams::SizeD(1, 0.3);
+ return new DslDiagrams::SizeD(1, 0.25);
}
}
#endregion
Modified: trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.cs
===================================================================
--- trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/AlternateViews/RelationalView/GeneratedCode/Shapes.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -136,7 +136,7 @@
{
get
{
- return new DslDiagrams::SizeD(1, 0.3);
+ return new DslDiagrams::SizeD(1, 0.25);
}
}
#endregion
Modified: trunk/AlternateViews/RelationalView/RelationalShape.dsl
===================================================================
--- trunk/AlternateViews/RelationalView/RelationalShape.dsl 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/AlternateViews/RelationalView/RelationalShape.dsl 2013-05-17 23:23:44 UTC (rev 1517)
@@ -34,7 +34,7 @@
</Attributes>
<Shapes>
- <CompartmentShape Name="TableShape" Id="50DABFCD-909C-418A-8895-172AADAAD4FB" Namespace="ORMSolutions.ORMArchitect.Views.RelationalView" GeneratesDoubleDerived="true" InitialHeight="0.3" InitialWidth="1" OutlineThickness="0.015625" AccessModifier="Assembly">
+ <CompartmentShape Name="TableShape" Id="50DABFCD-909C-418A-8895-172AADAAD4FB" Namespace="ORMSolutions.ORMArchitect.Views.RelationalView" GeneratesDoubleDerived="true" InitialHeight="0.25" InitialWidth="1" OutlineThickness="0.015625" AccessModifier="Assembly">
<Attributes>
<ClrAttribute Name="global::System.ComponentModel.TypeDescriptionProvider">
<Parameters>
Modified: trunk/ORMModel/ObjectModel/ObjectType.cs
===================================================================
--- trunk/ORMModel/ObjectModel/ObjectType.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ObjectModel/ObjectType.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -1757,7 +1757,7 @@
if (!WalkSupertypesForNearestCompatibleTypes(typeNodes, passedExclusions, currentObjectType, currentRoleIndex))
{
// Exclusion checking failed, get out.
- return null;
+ return EmptyArray;
}
++expectedVisitCount;
}
Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippets/VerbalizationCoreSnippets.xml 2013-05-17 23:23:44 UTC (rev 1517)
@@ -316,7 +316,7 @@
<!-- Role plath list management -->
<Snippet type="RolePathListCloseOutdentSnippets"><![CDATA[ChainedListClose NegatedChainedListClose AndTailListClose AndNestedListClose NegatedAndLeadListClose NegatedAndTailListClose NegatedAndNestedListClose OrTailListClose OrNestedListClose NegatedOrLeadListClose NegatedOrTailListClose NegatedOrNestedListClose XorLeadListClose XorTailListClose XorNestedListClose NegatedXorLeadListClose NegatedXorTailListClose NegatedXorNestedListClose]]></Snippet>
- <Snippet type="RolePathOutdentAwareTrailingListSnippets"><![CDATA[NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator]]></Snippet>
+ <Snippet type="RolePathOutdentAwareTrailingListSnippets"><![CDATA[NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose]]></Snippet>
<Snippet type="ChainedListOpen"><![CDATA[<span>]]></Snippet>
<Snippet type="ChainedListLocalRestrictionSeparator"><![CDATA[ <span class="quantifier">where</span> ]]></Snippet>
<Snippet type="ChainedListLocalRestrictionBackReferenceSeparator"><![CDATA[ ]]></Snippet>
@@ -328,12 +328,12 @@
<Snippet type="ChainedListTopLevelComplexRestrictionCollapsedLeadSeparator"><![CDATA[<br/><span class="quantifier">and</span> ]]></Snippet>
<Snippet type="ChainedListCollapsedSeparator"><![CDATA[ ]]></Snippet>
<Snippet type="ChainedListClose"><![CDATA[</span>]]></Snippet>
- <Snippet type="NegatedChainedListOpen"><![CDATA[<span class="quantifier">it is not true that </span>]]></Snippet>
- <Snippet type="NegatedChainedListClose"><![CDATA[]]></Snippet>
+ <Snippet type="NegatedChainedListOpen"><![CDATA[<span class="quantifier">it is not true that </span><span class="listSeparator">(</span>]]></Snippet>
+ <Snippet type="NegatedChainedListClose"><![CDATA[<span class="listSeparator">)</span>]]></Snippet>
<Snippet type="AndLeadListOpen"><![CDATA[]]></Snippet>
<Snippet type="AndLeadListSeparator"><![CDATA[<br/><span class="quantifier">and</span> ]]></Snippet>
<Snippet type="AndLeadListClose"><![CDATA[]]></Snippet>
- <Snippet type="AndTailListOpen"><![CDATA[<br/><span class="smallIndent"><span class="quantifier">and</span> ]]></Snippet>
+ <Snippet type="AndTailListOpen"><![CDATA[<br/><span class="smallIndent"><span class="quantifier">where</span> ]]></Snippet>
<Snippet type="AndTailListCollapsedOpen" groupWith="AndTailListOpen"><![CDATA[<br/><span class="smallIndent">]]></Snippet>
<Snippet type="AndTailListSeparator"><![CDATA[<br/><span class="quantifier">and</span> ]]></Snippet>
<Snippet type="AndTailListClose"><![CDATA[</span>]]></Snippet>
@@ -355,7 +355,7 @@
<Snippet type="OrLeadListOpen"><![CDATA[]]></Snippet>
<Snippet type="OrLeadListSeparator"><![CDATA[<br/><span class="quantifier">or</span> ]]></Snippet>
<Snippet type="OrLeadListClose"><![CDATA[]]></Snippet>
- <Snippet type="OrTailListOpen"><![CDATA[<br/><span class="smallIndent"><span class="quantifier">and</span> ]]></Snippet>
+ <Snippet type="OrTailListOpen"><![CDATA[<br/><span class="smallIndent"><span class="quantifier">where</span> ]]></Snippet>
<Snippet type="OrTailListCollapsedOpen" groupWith="OrTailListOpen"><![CDATA[<br/><span class="smallIndent">]]></Snippet>
<Snippet type="OrTailListSeparator"><![CDATA[<br/><span class="quantifier">or</span> ]]></Snippet>
<Snippet type="OrTailListClose"><![CDATA[</span>]]></Snippet>
Modified: trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ObjectModel/VerbalizationCoreSnippetsDocumentation.html 2013-05-17 23:23:44 UTC (rev 1517)
@@ -1544,7 +1544,7 @@
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <pre class="unformattedSnippetDecorator">and </pre>
+ <pre class="unformattedSnippetDecorator">where </pre>
</div>
</div>
</div>
@@ -5782,7 +5782,7 @@
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <strong>Not Available</strong>
+ <pre class="unformattedSnippetDecorator">)</pre>
</div>
</div>
</div>
@@ -5799,7 +5799,7 @@
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <pre class="unformattedSnippetDecorator">it is not true that </pre>
+ <pre class="unformattedSnippetDecorator">it is not true that (</pre>
</div>
</div>
</div>
@@ -6706,7 +6706,7 @@
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <pre class="unformattedSnippetDecorator">and </pre>
+ <pre class="unformattedSnippetDecorator">where </pre>
</div>
</div>
</div>
@@ -7322,7 +7322,7 @@
<div class="snippetUnformattedText">
<span class="reportItem">Unformatted version: </span>
<div class="unformattedSnippet">
- <pre class="unformattedSnippetDecorator">NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator</pre>
+ <pre class="unformattedSnippetDecorator">NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose</pre>
</div>
</div>
</div>
Modified: trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ObjectModel/VerbalizationDocumentation.xml 2013-05-17 23:23:44 UTC (rev 1517)
@@ -146,7 +146,7 @@
</snippet>
<snippet name="AndTailListOpen" replacementCount="0">
<statement></statement>
- <unformattedSnippet>and </unformattedSnippet>
+ <unformattedSnippet>where </unformattedSnippet>
<contains />
<containedIn />
<usedBy />
@@ -1915,14 +1915,14 @@
</snippet>
<snippet name="NegatedChainedListClose" replacementCount="0">
<statement></statement>
- <unformattedSnippet></unformattedSnippet>
+ <unformattedSnippet>)</unformattedSnippet>
<contains />
<containedIn />
<usedBy />
</snippet>
<snippet name="NegatedChainedListOpen" replacementCount="0">
<statement></statement>
- <unformattedSnippet>it is not true that </unformattedSnippet>
+ <unformattedSnippet>it is not true that (</unformattedSnippet>
<contains />
<containedIn />
<usedBy />
@@ -2296,7 +2296,7 @@
</snippet>
<snippet name="OrTailListOpen" replacementCount="0">
<statement></statement>
- <unformattedSnippet>and </unformattedSnippet>
+ <unformattedSnippet>where </unformattedSnippet>
<contains />
<containedIn />
<usedBy />
@@ -2563,7 +2563,7 @@
<statement>Description: A space separated list of list separators and close elements that must be placed before any
active trailing outdent snippets.
Format: NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator</statement>
- <unformattedSnippet>NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator</unformattedSnippet>
+ <unformattedSnippet>NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose</unformattedSnippet>
<contains />
<containedIn />
<usedBy />
Modified: trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs
===================================================================
--- trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ObjectModel/VerbalizationGenerator.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -1121,7 +1121,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">and</span> ",
@"<span class=""quantifier"">at most one</span> {0}",
@@ -1276,8 +1276,8 @@
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
- "",
- @"<span class=""quantifier"">it is not true that </span>",
+ @"<span class=""listSeparator"">)</span>",
+ @"<span class=""quantifier"">it is not true that </span><span class=""listSeparator"">(</span>",
"</span>",
@"<span class=""quantifier"">all of the following are <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
@@ -1323,7 +1323,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">or</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">or</span> ",
@"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>",
@@ -1352,7 +1352,7 @@
"And Or Chain",
"!And !Or Xor !Xor",
"ChainedListClose NegatedChainedListClose AndTailListClose AndNestedListClose NegatedAndLeadListClose NegatedAndTailListClose NegatedAndNestedListClose OrTailListClose OrNestedListClose NegatedOrLeadListClose NegatedOrTailListClose NegatedOrNestedListClose XorLeadListClose XorTailListClose XorNestedListClose NegatedXorLeadListClose NegatedXorTailListClose NegatedXorNestedListClose",
- "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator",
+ "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose",
@"{0}<span class=""logicalOperator""> is not </span>{1}",
"{0}",
"",
@@ -1459,7 +1459,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">and</span> ",
@"<span class=""quantifier"">at most one</span> {0}",
@@ -1614,8 +1614,8 @@
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
- "",
- @"<span class=""quantifier"">it is not true that </span>",
+ @"<span class=""listSeparator"">)</span>",
+ @"<span class=""quantifier"">it is not true that </span><span class=""listSeparator"">(</span>",
"</span>",
@"<span class=""quantifier"">all of the following are <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
@@ -1661,7 +1661,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">or</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">or</span> ",
@"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>",
@@ -1690,7 +1690,7 @@
"And Or Chain",
"!And !Or Xor !Xor",
"ChainedListClose NegatedChainedListClose AndTailListClose AndNestedListClose NegatedAndLeadListClose NegatedAndTailListClose NegatedAndNestedListClose OrTailListClose OrNestedListClose NegatedOrLeadListClose NegatedOrTailListClose NegatedOrNestedListClose XorLeadListClose XorTailListClose XorNestedListClose NegatedXorLeadListClose NegatedXorTailListClose NegatedXorNestedListClose",
- "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator",
+ "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose",
@"{0}<span class=""logicalOperator""> is not </span>{1}",
"{0}",
"",
@@ -1797,7 +1797,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">and</span> ",
@"<span class=""quantifier"">at most one</span> {0}",
@@ -1952,8 +1952,8 @@
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
- "",
- @"<span class=""quantifier"">it is not true that </span>",
+ @"<span class=""listSeparator"">)</span>",
+ @"<span class=""quantifier"">it is not true that </span><span class=""listSeparator"">(</span>",
"</span>",
@"<span class=""quantifier"">all of the following are <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
@@ -1999,7 +1999,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">or</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">or</span> ",
@"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>",
@@ -2028,7 +2028,7 @@
"And Or Chain",
"!And !Or Xor !Xor",
"ChainedListClose NegatedChainedListClose AndTailListClose AndNestedListClose NegatedAndLeadListClose NegatedAndTailListClose NegatedAndNestedListClose OrTailListClose OrNestedListClose NegatedOrLeadListClose NegatedOrTailListClose NegatedOrNestedListClose XorLeadListClose XorTailListClose XorNestedListClose NegatedXorLeadListClose NegatedXorTailListClose NegatedXorNestedListClose",
- "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator",
+ "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose",
@"{0}<span class=""logicalOperator""> is not </span>{1}",
"{0}",
"",
@@ -2135,7 +2135,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">and</span> ",
@"<span class=""quantifier"">at most one</span> {0}",
@@ -2290,8 +2290,8 @@
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""quantifier"">at least one of the following is <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
- "",
- @"<span class=""quantifier"">it is not true that </span>",
+ @"<span class=""listSeparator"">)</span>",
+ @"<span class=""quantifier"">it is not true that </span><span class=""listSeparator"">(</span>",
"</span>",
@"<span class=""quantifier"">all of the following are <em>false:</em></span><br/><span class=""smallIndent"">",
@"<span class=""listSeparator"">;</span><br/>",
@@ -2337,7 +2337,7 @@
"<span>",
@"</span><br/><span class=""smallIndent""><span class=""quantifier"">or</span> ",
"</span>",
- @"<br/><span class=""smallIndent""><span class=""quantifier"">and</span> ",
+ @"<br/><span class=""smallIndent""><span class=""quantifier"">where</span> ",
@"<br/><span class=""smallIndent"">",
@"<br/><span class=""quantifier"">or</span> ",
@"<span class=""quantifier""><sup style=""font-size:smaller;"">+</sup></span>{0} <span class=""quantifier"">if</span><br/>{1}<br/>",
@@ -2366,7 +2366,7 @@
"And Or Chain",
"!And !Or Xor !Xor",
"ChainedListClose NegatedChainedListClose AndTailListClose AndNestedListClose NegatedAndLeadListClose NegatedAndTailListClose NegatedAndNestedListClose OrTailListClose OrNestedListClose NegatedOrLeadListClose NegatedOrTailListClose NegatedOrNestedListClose XorLeadListClose XorTailListClose XorNestedListClose NegatedXorLeadListClose NegatedXorTailListClose NegatedXorNestedListClose",
- "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator",
+ "NegatedAndLeadListSeparator NegatedAndNestedListSeparator NegatedAndTailListSeparator NegatedOrLeadListSeparator NegatedOrNestedListSeparator NegatedOrTailListSeparator XorLeadListSeparator XorNestedListSeparator XorTailListSeparator NegatedXorLeadListSeparator NegatedXorNestedListSeparator NegatedXorTailListSeparator NegatedChainedListClose",
@"{0}<span class=""logicalOperator""> is not </span>{1}",
"{0}",
"",
Modified: trunk/ORMModel/ShapeModel/ExternalConstraintShape.cs
===================================================================
--- trunk/ORMModel/ShapeModel/ExternalConstraintShape.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ShapeModel/ExternalConstraintShape.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -601,11 +601,15 @@
bool rVal = false;
Role r;
IConstraint constraint = AssociatedConstraint;
- if (mel == constraint)
+ if (constraint == null)
{
+ rVal = false;
+ }
+ else if (mel == constraint)
+ {
rVal = true;
}
- else if (constraint != null && null != (r = mel as Role))
+ else if (null != (r = mel as Role))
{
switch (constraint.ConstraintStorageStyle)
{
Modified: trunk/ORMModel/ShapeModel/FactTypeShape.cs
===================================================================
--- trunk/ORMModel/ShapeModel/FactTypeShape.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ShapeModel/FactTypeShape.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -3953,6 +3953,12 @@
/// </summary>
public override string GetToolTipText(DiagramItem item)
{
+ if (IsDeleted)
+ {
+ // Protect against a timing issue. A delete can happen after the
+ // tooltip timer starts but before this fires.
+ return null;
+ }
string retVal = null;
ShapeSubField subField = item.SubField;
RoleSubField roleField;
@@ -3994,11 +4000,13 @@
}
}
}
+ FactType factType;
if (retVal == null &&
OptionsPage.CurrentDisplayDefinitionTooltips &&
- (subField == null || roleField != null))
+ (subField == null || roleField != null) &&
+ null != (factType = AssociatedFactType))
{
- retVal = AssociatedFactType.DefinitionText;
+ retVal = factType.DefinitionText;
if (retVal.Length == 0)
{
retVal = null;
@@ -7034,9 +7042,13 @@
public override string GetToolTipText(DiagramItem item)
{
string retVal = null;
- // Show for all shapes and fields in item
- retVal = AssociatedObjectType.DefinitionText;
- if (retVal.Length == 0)
+ ObjectType objectType;
+ // Show for all shapes and fields in item.
+ // Make sure that the shape has not been destroyed between the tooltip text
+ // timer starting and firing.
+ if (!IsDeleted &&
+ null != (objectType = AssociatedObjectType) &&
+ (retVal = objectType.DefinitionText).Length == 0)
{
retVal = null;
}
Modified: trunk/ORMModel/ShapeModel/ObjectTypeShape.cs
===================================================================
--- trunk/ORMModel/ShapeModel/ObjectTypeShape.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ShapeModel/ObjectTypeShape.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -430,9 +430,13 @@
public override string GetToolTipText(DiagramItem item)
{
string retVal = null;
- // Show for all shapes and fields in item
- retVal = AssociatedObjectType.DefinitionText;
- if (retVal.Length == 0)
+ ObjectType objectType;
+ // Show for all shapes and fields in item.
+ // Make sure that the shape has not been destroyed between the tooltip text
+ // timer starting and firing.
+ if (!IsDeleted &&
+ null != (objectType = AssociatedObjectType) &&
+ (retVal = objectType.DefinitionText).Length == 0)
{
retVal = null;
}
Modified: trunk/ORMModel/ShapeModel/ValueRangeShape.cs
===================================================================
--- trunk/ORMModel/ShapeModel/ValueRangeShape.cs 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/ORMModel/ShapeModel/ValueRangeShape.cs 2013-05-17 23:23:44 UTC (rev 1517)
@@ -229,7 +229,8 @@
{
string retVal = null;
ValueConstraint constraint;
- if (null != (constraint = AssociatedValueConstraint))
+ if (!IsDeleted &&
+ null != (constraint = AssociatedValueConstraint))
{
retVal = constraint.GetDisplayText(MaximumDisplayedColumns, 0);
if (string.IsNullOrEmpty(retVal))
Modified: trunk/Setup/Readme.htm
===================================================================
--- trunk/Setup/Readme.htm 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/Setup/Readme.htm 2013-05-17 23:23:44 UTC (rev 1517)
@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
-<title>NORMA January 2013 CTP Readme</title>
+<title>NORMA May 2013 CTP Readme</title>
<style type="text/css">
.new {font-size:x-small; background-color:Gold; color:Blue; }
li {padding-bottom: 3px;}
@@ -12,9 +12,9 @@
<body>
-<p><b><a id="The Top" style="font-family:Verdana;font-size:medium">NORMA January 2013 CTP Readme</a> </b></p>
+<p><b><a id="The Top" style="font-family:Verdana;font-size:medium">NORMA May 2013 CTP Readme</a> </b></p>
<p>This file supersedes the previous readme.txt and older readme.htm files. This readme has parallel indexing mechanisms: by topic, and by release date (starting with the October 2008 (2008-10) release). The file will be extended for future product releases.<br/><br/>
-The January 2013 release adds Visual Studio 2012 support, new constraint connections between a subtyping relationship and normal roles, some enhancements to disjunctive mandatory and external uniqueness verbalization patterns, native SQL Server data type handling, and other bug fixes. See detailed change notes below for specifics.<br/><br/>
+The May 2013 release is a bug fix release with no major feature changes. See detailed change notes below for specifics.<br/><br/>
</p>
<h2>Contents</h2>
<ul>
@@ -43,8 +43,31 @@
</ul>-->
<hr/>
+<h2>May 2013 CTP Changes</h2>
+<div>The May 2013 CTP release includes all modifications through changeset 1517. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
+<ul>
+<li>Feature Changes:
+<ol>
+<li>Display both ModelName and DiagramName properties when an ORM diagram is selected. This removes ambiguity and makes it easier to edit the diagram names.</li>
+<li>Enable persistent customization of generated relational schema names. Extends support for persistent customization of table and column names.</li>
+<li>Remove the 'Columns' header from the Relational View page and remove some vertical whitespace from the table name section.</li>
+<li>Improve foreign key highlighting in the Relational View. The entire foreign key line highlights on a mouse over, making it visually easier to trace foreign key lines.</li>
+</ol>
+</li>
+<li>Bug Fixes:
+<ol>
+<li>Restore missing constraints in the <em>Constraint Validation</em> page of HTML report. Internal constraints on this page displayed only the first constraint of each type, so this report page was missing most of the internal constraints in the model.</li>
+<li>Compatible column validation for constraints now look for exclusion constraints across subtypes and treat these as incompatible types.</li>
+<li>Modified z-order on an ORM diagram to ensure consistent display. By default, z-order is determined by shape creation order. Creating a new shape for an object type or fact type that uses an existing role connector would draw the connector behind the shape. This was especially noticable with objectified fact types, which could obscur the role player connects behind the objectified fact type shape.</li>
+<li>Verbalization of disjunctive mandatory constraints over multiple roles in the same fact type and multiple role player types was incorrectly correlating unrelated variables.</li>
+<li>Fixed a timing issue with shape deletion. If mouse movement started a tooltip timer on a shape that was deleted before the timer fired and the tooltip requested text, then the IDE would crash. This was hard to hit, but was not recoverable and resulted in data loss.</li>
+</ol>
+</li>
+</ul>
+
+<hr/>
<h2>January 2013 CTP Changes</h2>
-<div>The January 2013 CTP release includes all modifications through changeset 1510. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
+<div>The January 2013 CTP release includes all modifications through changeset 1510.</div>
<ul>
<li><a href="#VerbalizedObjectTypeNameRemoveSpecialCharacterDisplay 2013-01">Verbalized object type name separator character removal options</a></li>
<li><a href="#SQLServerNativeDataTypes 2013-01">SQL Server Native Data Types</a></li>
@@ -86,7 +109,7 @@
<hr/>
<h2>April 2012 CTP Changes</h2>
-<div>The April 2012 CTP release includes all modifications through changeset 1487. Full changeset descriptions can be found at the <a href="http://orm.svn.sourceforge.net/viewvc/orm/trunk/?view=log">sourceforge code repository</a> (be patient with this link, the page contains a full changeset history).</div>
+<div>The April 2012 CTP release includes all modifications through changeset 1487.</div>
<ul>
<li><a href="#VerbalizePossiblePopulationsOption 2012-04">Verbalize possible populations option</a> </li>
<li>Other Features:
Modified: trunk/VersionGenerator.exe.config
===================================================================
--- trunk/VersionGenerator.exe.config 2013-04-23 22:04:54 UTC (rev 1516)
+++ trunk/VersionGenerator.exe.config 2013-05-17 23:23:44 UTC (rev 1517)
@@ -2,7 +2,7 @@
<configuration>
<appSettings>
<add key="RevisionStartYearMonth" value="2006-01"/>
- <add key="ReleaseYearMonth" value="2013-01"/>
+ <add key="ReleaseYearMonth" value="2013-05"/>
<add key="CountQuartersFromYearMonth" value="2011-01"/>
<!-- ReleaseType: "CTP" or "RTM" -->
<add key="ReleaseType" value="CTP"/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|