Skip to content

Commit 0e65060

Browse files
authored
Ensure minimum office versions are included on enums (#707)
1 parent 17cedbb commit 0e65060

22 files changed

+331
-28
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## Version 2.11.0 - Unreleased
88
### Added
9+
- Added minimum Office versions for enum types and values (#707).
910
- Added `OpenXmlElementFunctionalExtensions.With` extension methods, which offer flexible means for constructing `OpenXmlElement` instances in the context of pure functional transformations.
1011
- Added additional `CompatSettingNameValues` values: `UseWord2013TrackBottomHyphenation`, `AllowHyphenationAtTrackBottom`, and `AllowTextAfterFloatingTableBreak` (#706).
1112

src/DocumentFormat.OpenXml/Framework/OfficeAvailabilityAttribute.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace DocumentFormat.OpenXml
1010
/// <summary>
1111
/// Defines an OfficeAvailabilityAttribute class to indicate whether the property is available in a specific version of an Office application.
1212
/// </summary>
13-
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Class | AttributeTargets.Field)]
13+
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Enum)]
1414
public sealed class OfficeAvailabilityAttribute : Attribute, IOpenXmlSimpleTypeValidator
1515
{
1616
/// <summary>

src/DocumentFormat.OpenXml/GeneratedCode/schemas_microsoft_com_office_2009_07_customui.g.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15778,6 +15778,7 @@ public ContextMenus(string outerXml) : base(outerXml)
1577815778
/// <summary>
1577915779
/// Defines the GalleryShowInRibbonValues enumeration.
1578015780
/// </summary>
15781+
[OfficeAvailability(FileFormatVersions.Office2010)]
1578115782
public enum GalleryShowInRibbonValues
1578215783
{
1578315784
///<summary>
@@ -15797,6 +15798,7 @@ public enum GalleryShowInRibbonValues
1579715798
/// <summary>
1579815799
/// Defines the SizeValues enumeration.
1579915800
/// </summary>
15801+
[OfficeAvailability(FileFormatVersions.Office2010)]
1580015802
public enum SizeValues
1580115803
{
1580215804
///<summary>
@@ -15816,6 +15818,7 @@ public enum SizeValues
1581615818
/// <summary>
1581715819
/// Defines the ItemSizeValues enumeration.
1581815820
/// </summary>
15821+
[OfficeAvailability(FileFormatVersions.Office2010)]
1581915822
public enum ItemSizeValues
1582015823
{
1582115824
///<summary>
@@ -15835,6 +15838,7 @@ public enum ItemSizeValues
1583515838
/// <summary>
1583615839
/// Defines the BoxStyleValues enumeration.
1583715840
/// </summary>
15841+
[OfficeAvailability(FileFormatVersions.Office2010)]
1583815842
public enum BoxStyleValues
1583915843
{
1584015844
///<summary>
@@ -15854,6 +15858,7 @@ public enum BoxStyleValues
1585415858
/// <summary>
1585515859
/// Defines the TaskSizesValues enumeration.
1585615860
/// </summary>
15861+
[OfficeAvailability(FileFormatVersions.Office2010)]
1585715862
public enum TaskSizesValues
1585815863
{
1585915864
///<summary>
@@ -15897,6 +15902,7 @@ public enum TaskSizesValues
1589715902
/// <summary>
1589815903
/// Defines the ExpandValues enumeration.
1589915904
/// </summary>
15905+
[OfficeAvailability(FileFormatVersions.Office2010)]
1590015906
public enum ExpandValues
1590115907
{
1590215908
///<summary>
@@ -15958,6 +15964,7 @@ public enum ExpandValues
1595815964
/// <summary>
1595915965
/// Defines the StyleValues enumeration.
1596015966
/// </summary>
15967+
[OfficeAvailability(FileFormatVersions.Office2010)]
1596115968
public enum StyleValues
1596215969
{
1596315970
///<summary>
@@ -15983,6 +15990,7 @@ public enum StyleValues
1598315990
/// <summary>
1598415991
/// Defines the Style2Values enumeration.
1598515992
/// </summary>
15993+
[OfficeAvailability(FileFormatVersions.Office2010)]
1598615994
public enum Style2Values
1598715995
{
1598815996
///<summary>
@@ -16008,6 +16016,7 @@ public enum Style2Values
1600816016
/// <summary>
1600916017
/// Defines the LayoutChildrenValues enumeration.
1601016018
/// </summary>
16019+
[OfficeAvailability(FileFormatVersions.Office2010)]
1601116020
public enum LayoutChildrenValues
1601216021
{
1601316022
///<summary>

src/DocumentFormat.OpenXml/GeneratedCode/schemas_microsoft_com_office_drawing_2012_chartStyle.g.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5246,6 +5246,7 @@ public MarkerLayoutProperties() : base()
52465246
/// <summary>
52475247
/// Defines the ColorStyleMethodEnum enumeration.
52485248
/// </summary>
5249+
[OfficeAvailability(FileFormatVersions.Office2013)]
52495250
public enum ColorStyleMethodEnum
52505251
{
52515252
///<summary>
@@ -5283,6 +5284,7 @@ public enum ColorStyleMethodEnum
52835284
/// <summary>
52845285
/// Defines the StyleReferenceModifierEnum enumeration.
52855286
/// </summary>
5287+
[OfficeAvailability(FileFormatVersions.Office2013)]
52865288
public enum StyleReferenceModifierEnum
52875289
{
52885290
///<summary>
@@ -5296,6 +5298,7 @@ public enum StyleReferenceModifierEnum
52965298
/// <summary>
52975299
/// Defines the StyleColorEnum enumeration.
52985300
/// </summary>
5301+
[OfficeAvailability(FileFormatVersions.Office2013)]
52995302
public enum StyleColorEnum
53005303
{
53015304
///<summary>
@@ -5309,6 +5312,7 @@ public enum StyleColorEnum
53095312
/// <summary>
53105313
/// Defines the StyleEntryModifierEnum enumeration.
53115314
/// </summary>
5315+
[OfficeAvailability(FileFormatVersions.Office2013)]
53125316
public enum StyleEntryModifierEnum
53135317
{
53145318
///<summary>
@@ -5328,6 +5332,7 @@ public enum StyleEntryModifierEnum
53285332
/// <summary>
53295333
/// Defines the MarkerStyle enumeration.
53305334
/// </summary>
5335+
[OfficeAvailability(FileFormatVersions.Office2013)]
53315336
public enum MarkerStyle
53325337
{
53335338
///<summary>
@@ -5389,6 +5394,7 @@ public enum MarkerStyle
53895394
/// <summary>
53905395
/// Defines the Boolean enumeration.
53915396
/// </summary>
5397+
[OfficeAvailability(FileFormatVersions.Office2013)]
53925398
public enum Boolean
53935399
{
53945400
///<summary>
@@ -5414,6 +5420,7 @@ public enum Boolean
54145420
/// <summary>
54155421
/// Defines the TickMarkNinch enumeration.
54165422
/// </summary>
5423+
[OfficeAvailability(FileFormatVersions.Office2013)]
54175424
public enum TickMarkNinch
54185425
{
54195426
///<summary>
@@ -5451,6 +5458,7 @@ public enum TickMarkNinch
54515458
/// <summary>
54525459
/// Defines the TickLabelPositionNinch enumeration.
54535460
/// </summary>
5461+
[OfficeAvailability(FileFormatVersions.Office2013)]
54545462
public enum TickLabelPositionNinch
54555463
{
54565464
///<summary>
@@ -5488,6 +5496,7 @@ public enum TickLabelPositionNinch
54885496
/// <summary>
54895497
/// Defines the DataLabelsPosition enumeration.
54905498
/// </summary>
5499+
[OfficeAvailability(FileFormatVersions.Office2013)]
54915500
public enum DataLabelsPosition
54925501
{
54935502
///<summary>
@@ -5525,6 +5534,7 @@ public enum DataLabelsPosition
55255534
/// <summary>
55265535
/// Defines the LegendPosition enumeration.
55275536
/// </summary>
5537+
[OfficeAvailability(FileFormatVersions.Office2013)]
55285538
public enum LegendPosition
55295539
{
55305540
///<summary>
@@ -5562,6 +5572,7 @@ public enum LegendPosition
55625572
/// <summary>
55635573
/// Defines the TitlePosition enumeration.
55645574
/// </summary>
5575+
[OfficeAvailability(FileFormatVersions.Office2013)]
55655576
public enum TitlePosition
55665577
{
55675578
///<summary>

src/DocumentFormat.OpenXml/GeneratedCode/schemas_microsoft_com_office_drawing_2012_main.g.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ public SignatureLine() : base()
261261
/// <summary>
262262
/// Defines the TargetScreenSize enumeration.
263263
/// </summary>
264+
[OfficeAvailability(FileFormatVersions.Office2013)]
264265
public enum TargetScreenSize
265266
{
266267
///<summary>

src/DocumentFormat.OpenXml/GeneratedCode/schemas_microsoft_com_office_drawing_2014_chartex.g.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4996,6 +4996,7 @@ public NumericLevel(string outerXml) : base(outerXml)
49964996
/// <summary>
49974997
/// Defines the FormulaDirection enumeration.
49984998
/// </summary>
4999+
[OfficeAvailability(FileFormatVersions.Office2016)]
49995000
public enum FormulaDirection
50005001
{
50015002
///<summary>
@@ -5015,6 +5016,7 @@ public enum FormulaDirection
50155016
/// <summary>
50165017
/// Defines the StringDimensionType enumeration.
50175018
/// </summary>
5019+
[OfficeAvailability(FileFormatVersions.Office2016)]
50185020
public enum StringDimensionType
50195021
{
50205022
///<summary>
@@ -5028,6 +5030,7 @@ public enum StringDimensionType
50285030
/// <summary>
50295031
/// Defines the NumericDimensionType enumeration.
50305032
/// </summary>
5033+
[OfficeAvailability(FileFormatVersions.Office2016)]
50315034
public enum NumericDimensionType
50325035
{
50335036
///<summary>
@@ -5059,6 +5062,7 @@ public enum NumericDimensionType
50595062
/// <summary>
50605063
/// Defines the SidePos enumeration.
50615064
/// </summary>
5065+
[OfficeAvailability(FileFormatVersions.Office2016)]
50625066
public enum SidePos
50635067
{
50645068
///<summary>
@@ -5090,6 +5094,7 @@ public enum SidePos
50905094
/// <summary>
50915095
/// Defines the PosAlign enumeration.
50925096
/// </summary>
5097+
[OfficeAvailability(FileFormatVersions.Office2016)]
50935098
public enum PosAlign
50945099
{
50955100
///<summary>
@@ -5115,6 +5120,7 @@ public enum PosAlign
51155120
/// <summary>
51165121
/// Defines the AxisUnit enumeration.
51175122
/// </summary>
5123+
[OfficeAvailability(FileFormatVersions.Office2016)]
51185124
public enum AxisUnit
51195125
{
51205126
///<summary>
@@ -5182,6 +5188,7 @@ public enum AxisUnit
51825188
/// <summary>
51835189
/// Defines the TickMarksType enumeration.
51845190
/// </summary>
5191+
[OfficeAvailability(FileFormatVersions.Office2016)]
51855192
public enum TickMarksType
51865193
{
51875194
///<summary>
@@ -5213,6 +5220,7 @@ public enum TickMarksType
52135220
/// <summary>
52145221
/// Defines the SeriesLayout enumeration.
52155222
/// </summary>
5223+
[OfficeAvailability(FileFormatVersions.Office2016)]
52165224
public enum SeriesLayout
52175225
{
52185226
///<summary>
@@ -5256,6 +5264,7 @@ public enum SeriesLayout
52565264
/// <summary>
52575265
/// Defines the ParentLabelLayoutVal enumeration.
52585266
/// </summary>
5267+
[OfficeAvailability(FileFormatVersions.Office2016)]
52595268
public enum ParentLabelLayoutVal
52605269
{
52615270
///<summary>
@@ -5281,6 +5290,7 @@ public enum ParentLabelLayoutVal
52815290
/// <summary>
52825291
/// Defines the IntervalClosedSide enumeration.
52835292
/// </summary>
5293+
[OfficeAvailability(FileFormatVersions.Office2016)]
52845294
public enum IntervalClosedSide
52855295
{
52865296
///<summary>
@@ -5300,6 +5310,7 @@ public enum IntervalClosedSide
53005310
/// <summary>
53015311
/// Defines the QuartileMethod enumeration.
53025312
/// </summary>
5313+
[OfficeAvailability(FileFormatVersions.Office2016)]
53035314
public enum QuartileMethod
53045315
{
53055316
///<summary>
@@ -5319,6 +5330,7 @@ public enum QuartileMethod
53195330
/// <summary>
53205331
/// Defines the DataLabelPos enumeration.
53215332
/// </summary>
5333+
[OfficeAvailability(FileFormatVersions.Office2016)]
53225334
public enum DataLabelPos
53235335
{
53245336
///<summary>
@@ -5380,6 +5392,7 @@ public enum DataLabelPos
53805392
/// <summary>
53815393
/// Defines the PageOrientation enumeration.
53825394
/// </summary>
5395+
[OfficeAvailability(FileFormatVersions.Office2016)]
53835396
public enum PageOrientation
53845397
{
53855398
///<summary>

src/DocumentFormat.OpenXml/GeneratedCode/schemas_microsoft_com_office_powerpoint_2010_main.g.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2977,6 +2977,7 @@ public NullEventRecord() : base()
29772977
/// <summary>
29782978
/// Defines the TransitionPatternValues enumeration.
29792979
/// </summary>
2980+
[OfficeAvailability(FileFormatVersions.Office2010)]
29802981
public enum TransitionPatternValues
29812982
{
29822983
///<summary>
@@ -2996,6 +2997,7 @@ public enum TransitionPatternValues
29962997
/// <summary>
29972998
/// Defines the TransitionCenterDirectionTypeValues enumeration.
29982999
/// </summary>
3000+
[OfficeAvailability(FileFormatVersions.Office2010)]
29993001
public enum TransitionCenterDirectionTypeValues
30003002
{
30013003
///<summary>
@@ -3009,6 +3011,7 @@ public enum TransitionCenterDirectionTypeValues
30093011
/// <summary>
30103012
/// Defines the TransitionShredPatternValues enumeration.
30113013
/// </summary>
3014+
[OfficeAvailability(FileFormatVersions.Office2010)]
30123015
public enum TransitionShredPatternValues
30133016
{
30143017
///<summary>
@@ -3028,6 +3031,7 @@ public enum TransitionShredPatternValues
30283031
/// <summary>
30293032
/// Defines the TransitionLeftRightDirectionTypeValues enumeration.
30303033
/// </summary>
3034+
[OfficeAvailability(FileFormatVersions.Office2010)]
30313035
public enum TransitionLeftRightDirectionTypeValues
30323036
{
30333037
///<summary>

0 commit comments

Comments
 (0)