aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core/Compiler_UI.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-05-22 00:58:13 -0700
committerRob Mensching <rob@firegiant.com>2019-05-23 16:02:37 -0700
commitd0462be8000f18aa7dc0791d02142f000bb19fbf (patch)
tree072aabc2bd9b8f171e17654473f85c44a8a42a66 /src/WixToolset.Core/Compiler_UI.cs
parent1ed894bc0f39397ec7f7f6344370fc2123420c43 (diff)
downloadwix-d0462be8000f18aa7dc0791d02142f000bb19fbf.tar.gz
wix-d0462be8000f18aa7dc0791d02142f000bb19fbf.tar.bz2
wix-d0462be8000f18aa7dc0791d02142f000bb19fbf.zip
Integrate latest changes to tuple definitions
Diffstat (limited to 'src/WixToolset.Core/Compiler_UI.cs')
-rw-r--r--src/WixToolset.Core/Compiler_UI.cs117
1 files changed, 71 insertions, 46 deletions
diff --git a/src/WixToolset.Core/Compiler_UI.cs b/src/WixToolset.Core/Compiler_UI.cs
index fddb9061..24398895 100644
--- a/src/WixToolset.Core/Compiler_UI.cs
+++ b/src/WixToolset.Core/Compiler_UI.cs
@@ -120,8 +120,10 @@ namespace WixToolset.Core
120 120
121 // the following are available indentically under the UI and Product elements for document organization use only 121 // the following are available indentically under the UI and Product elements for document organization use only
122 case "AdminUISequence": 122 case "AdminUISequence":
123 this.ParseSequenceElement(child, SequenceTable.AdminUISequence);
124 break;
123 case "InstallUISequence": 125 case "InstallUISequence":
124 this.ParseSequenceElement(child, child.Name.LocalName); 126 this.ParseSequenceElement(child, SequenceTable.InstallUISequence);
125 break; 127 break;
126 case "Binary": 128 case "Binary":
127 this.ParseBinaryElement(child); 129 this.ParseBinaryElement(child);
@@ -149,7 +151,8 @@ namespace WixToolset.Core
149 151
150 if (null != id && !this.Core.EncounteredError) 152 if (null != id && !this.Core.EncounteredError)
151 { 153 {
152 this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.WixUI, id); 154 var tuple = new WixUITuple(sourceLineNumbers, id);
155 this.Core.AddTuple(tuple);
153 } 156 }
154 } 157 }
155 158
@@ -160,7 +163,7 @@ namespace WixToolset.Core
160 /// <param name="table">Table to add row to.</param> 163 /// <param name="table">Table to add row to.</param>
161 /// <param name="property">Identifier of property referred to by list item.</param> 164 /// <param name="property">Identifier of property referred to by list item.</param>
162 /// <param name="order">Relative order of list items.</param> 165 /// <param name="order">Relative order of list items.</param>
163 private void ParseListItemElement(XElement node, TupleDefinitionType tableName, string property, ref int order) 166 private void ParseListItemElement(XElement node, TupleDefinitionType tupleType, string property, ref int order)
164 { 167 {
165 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 168 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
166 string icon = null; 169 string icon = null;
@@ -174,7 +177,7 @@ namespace WixToolset.Core
174 switch (attrib.Name.LocalName) 177 switch (attrib.Name.LocalName)
175 { 178 {
176 case "Icon": 179 case "Icon":
177 if (TupleDefinitionType.ListView == tableName) 180 if (TupleDefinitionType.ListView == tupleType)
178 { 181 {
179 icon = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib); 182 icon = this.Core.GetAttributeIdentifierValue(sourceLineNumbers, attrib);
180 this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", icon); 183 this.Core.CreateSimpleReference(sourceLineNumbers, "Binary", icon);
@@ -210,14 +213,14 @@ namespace WixToolset.Core
210 213
211 if (!this.Core.EncounteredError) 214 if (!this.Core.EncounteredError)
212 { 215 {
213 var row = this.Core.CreateRow(sourceLineNumbers, tableName); 216 var tuple = this.Core.CreateTuple(sourceLineNumbers, tupleType);
214 row.Set(0, property); 217 tuple.Set(0, property);
215 row.Set(1, ++order); 218 tuple.Set(1, ++order);
216 row.Set(2, value); 219 tuple.Set(2, value);
217 row.Set(3, text); 220 tuple.Set(3, text);
218 if (null != icon) 221 if (null != icon)
219 { 222 {
220 row.Set(4, icon); 223 tuple.Set(4, icon);
221 } 224 }
222 } 225 }
223 } 226 }
@@ -335,19 +338,21 @@ namespace WixToolset.Core
335 338
336 if (!this.Core.EncounteredError) 339 if (!this.Core.EncounteredError)
337 { 340 {
338 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.RadioButton); 341 var tuple = new RadioButtonTuple(sourceLineNumbers)
339 row.Set(0, property);
340 row.Set(1, ++order);
341 row.Set(2, value);
342 row.Set(3, x);
343 row.Set(4, y);
344 row.Set(5, width);
345 row.Set(6, height);
346 row.Set(7, text);
347 if (null != tooltip || null != help)
348 { 342 {
349 row.Set(8, String.Concat(tooltip, "|", help)); 343 Property = property,
350 } 344 Order = ++order,
345 Value = value,
346 Text = text,
347 Help = (null != tooltip || null != help) ? String.Concat(tooltip, "|", help) : null
348 };
349
350 tuple.Set((int)RadioButtonTupleFields.X, x);
351 tuple.Set((int)RadioButtonTupleFields.Y, y);
352 tuple.Set((int)RadioButtonTupleFields.Width, width);
353 tuple.Set((int)RadioButtonTupleFields.Height, height);
354
355 this.Core.AddTuple(tuple);
351 } 356 }
352 357
353 return type; 358 return type;
@@ -481,10 +486,14 @@ namespace WixToolset.Core
481 486
482 if (!this.Core.EncounteredError) 487 if (!this.Core.EncounteredError)
483 { 488 {
484 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.Billboard, id); 489 var tuple = new BillboardTuple(sourceLineNumbers, id)
485 row.Set(1, feature); 490 {
486 row.Set(2, action); 491 Feature_ = feature,
487 row.Set(3, order); 492 Action = action,
493 Ordering = order
494 };
495
496 this.Core.AddTuple(tuple);
488 } 497 }
489 } 498 }
490 499
@@ -494,7 +503,7 @@ namespace WixToolset.Core
494 /// <param name="node">Element to parse.</param> 503 /// <param name="node">Element to parse.</param>
495 /// <param name="table">Table referred to by control group.</param> 504 /// <param name="table">Table referred to by control group.</param>
496 /// <param name="childTag">Expected child elements.</param> 505 /// <param name="childTag">Expected child elements.</param>
497 private void ParseControlGroupElement(XElement node, TupleDefinitionType tableName, string childTag) 506 private void ParseControlGroupElement(XElement node, TupleDefinitionType tupleType, string childTag)
498 { 507 {
499 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node); 508 var sourceLineNumbers = Preprocessor.GetSourceLineNumbers(node);
500 var order = 0; 509 var order = 0;
@@ -537,7 +546,7 @@ namespace WixToolset.Core
537 switch (child.Name.LocalName) 546 switch (child.Name.LocalName)
538 { 547 {
539 case "ListItem": 548 case "ListItem":
540 this.ParseListItemElement(child, tableName, property, ref order); 549 this.ParseListItemElement(child, tupleType, property, ref order);
541 break; 550 break;
542 case "Property": 551 case "Property":
543 this.ParsePropertyElement(child); 552 this.ParsePropertyElement(child);
@@ -668,10 +677,14 @@ namespace WixToolset.Core
668 677
669 if (!this.Core.EncounteredError) 678 if (!this.Core.EncounteredError)
670 { 679 {
671 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.ActionText); 680 var tuple = new ActionTextTuple(sourceLineNumbers)
672 row.Set(0, action); 681 {
673 row.Set(1, Common.GetInnerText(node)); 682 Action = action,
674 row.Set(2, template); 683 Description = Common.GetInnerText(node),
684 Template = template
685 };
686
687 this.Core.AddTuple(tuple);
675 } 688 }
676 } 689 }
677 690
@@ -716,8 +729,12 @@ namespace WixToolset.Core
716 729
717 if (!this.Core.EncounteredError) 730 if (!this.Core.EncounteredError)
718 { 731 {
719 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.UIText, id); 732 var tuple = new UITextTuple(sourceLineNumbers, id)
720 row.Set(1, text); 733 {
734 Text = text,
735 };
736
737 this.Core.AddTuple(tuple);
721 } 738 }
722 } 739 }
723 740
@@ -1654,13 +1671,17 @@ namespace WixToolset.Core
1654 1671
1655 if (!this.Core.EncounteredError) 1672 if (!this.Core.EncounteredError)
1656 { 1673 {
1657 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.ControlEvent); 1674 var tuple = new ControlEventTuple(sourceLineNumbers)
1658 row.Set(0, dialog); 1675 {
1659 row.Set(1, control); 1676 Dialog_ = dialog,
1660 row.Set(2, (null != controlEvent ? controlEvent : property)); 1677 Control_ = control,
1661 row.Set(3, argument); 1678 Event = controlEvent ?? property,
1662 row.Set(4, condition); 1679 Argument = argument,
1663 row.Set(5, order); 1680 Condition = condition,
1681 Ordering = order
1682 };
1683
1684 this.Core.AddTuple(tuple);
1664 } 1685 }
1665 1686
1666 if ("DoAction" == controlEvent && null != argument) 1687 if ("DoAction" == controlEvent && null != argument)
@@ -1719,11 +1740,15 @@ namespace WixToolset.Core
1719 1740
1720 if (!this.Core.EncounteredError) 1741 if (!this.Core.EncounteredError)
1721 { 1742 {
1722 var row = this.Core.CreateRow(sourceLineNumbers, TupleDefinitionType.EventMapping); 1743 var tuple = new EventMappingTuple(sourceLineNumbers)
1723 row.Set(0, dialog); 1744 {
1724 row.Set(1, control); 1745 Dialog_ = dialog,
1725 row.Set(2, eventMapping); 1746 Control_ = control,
1726 row.Set(3, controlAttribute); 1747 Event = eventMapping,
1748 Attribute = controlAttribute
1749 }; ;
1750
1751 this.Core.AddTuple(tuple);
1727 } 1752 }
1728 } 1753 }
1729 } 1754 }