sketchup-api-stubs 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +9 -9
  3. data/lib/sketchup-api-stubs.rb +1 -1
  4. data/lib/sketchup-api-stubs/sketchup.rb +145 -145
  5. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -318
  6. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  7. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  8. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  10. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  11. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -492
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  13. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  14. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  16. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
  17. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +220 -232
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +204 -216
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +694 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +140 -140
  49. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -157
  50. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -577
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +281 -281
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -562
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +194 -194
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1119
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -544
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -280
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1601
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -770
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -454
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +257 -257
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -1301
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
  134. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
  135. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
  136. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
  137. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  138. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
  139. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  140. data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
  141. data/lib/sketchup-api-stubs/stubs/geom.rb +348 -348
  142. data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
  143. data/lib/sketchup-api-stubs/stubs/length.rb +278 -278
  144. data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
  145. data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
  146. data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
  147. data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
  148. data/lib/sketchup-api-stubs/stubs/ui.rb +667 -667
  149. metadata +3 -4
@@ -1,261 +1,261 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A group is a special type of {Layout::Entity} that does not belong to a
5
- # {Layout::Layer} and contains other {Layout::Entity}s as children. A
6
- # {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
7
- # hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
8
- # contain at least one child and will be automatically collapsed if an
9
- # operation is performed that results in the {Layout::Group} being empty.
10
- #
11
- # @version LayOut 2018
12
- class Layout::Group < Layout::Entity
13
-
14
- # Constants
15
-
16
- RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
17
- RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
18
- RESIZE_BEHAVIOR_NONE = nil # Stub value.
19
-
20
- # Instance Methods
21
-
22
- # The {#entities} method returns the {Layout::Entities} that belong to the
23
- # {Layout::Group}.
24
- #
25
- # @example
26
- # doc = Layout::Document.open("C:/path/to/document.layout")
27
- # group = doc.shared_entities.first
28
- # entities = group.entities
29
- #
30
- # @return [Layout::Entities]
31
- #
32
- # @version LayOut 2018
33
- def entities
34
- end
35
-
36
- # The {#initialize} method creates a new {Layout::Group}.
37
- #
38
- # @example
39
- # doc = Layout::Document.open("C:/path/to/document.layout")
40
- # entities = doc.shared_entities
41
- # entities.each { |entity|
42
- # entity_array.push(entity)
43
- # }
44
- # group = Layout::Group.new(entity_array)
45
- #
46
- # @param [Array<Layout::Entity>] entities
47
- #
48
- # @raise [ArgumentError] if entities is empty.
49
- #
50
- # @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
51
- # different {Layout::Document}s
52
- #
53
- # @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
54
- # belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
55
- # {Layout::Document}
56
- #
57
- # @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
58
- # and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
59
- # belonging to different {Layout::Page}s
60
- #
61
- # @raise [ArgumentError] if entities contains the same {Layout::Entity} more
62
- # than once
63
- #
64
- # @return [Layout::Group]
65
- #
66
- # @version LayOut 2018
67
- def initialize(entities)
68
- end
69
-
70
- # The {#remove_scale_factor} method removes the scale factor from the
71
- # {Layout::Group}.
72
- #
73
- # The resize behavior can be one of the following values:
74
- # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
75
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
76
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
77
- #
78
- # @example
79
- # doc = Layout::Document.open("C:/path/to/document.layout")
80
- # group = doc.shared_entities.first
81
- # group.remove_scale_factor(true)
82
- #
83
- # @param [Integer] resize_behavior
84
- #
85
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
86
- #
87
- # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
88
- #
89
- # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
90
- #
91
- # @version LayOut 2018
92
- def remove_scale_factor(resize_behavior)
93
- end
94
-
95
- # The {#scale_factor} method returns the the scale factor associated with the
96
- # {Layout::Group}.
97
- #
98
- # @example
99
- # doc = Layout::Document.open("C:/path/to/document.layout")
100
- # group = doc.shared_entities.first
101
- # scale = group.scale_factor
102
- #
103
- # @return [Float, nil]
104
- #
105
- # @version LayOut 2018
106
- def scale_factor
107
- end
108
-
109
- # The {#scale_precision} method returns the precision used for the scale of the
110
- # {Layout::Group}.
111
- #
112
- # @example
113
- # doc = Layout::Document.open("C:/path/to/document.layout")
114
- # group = doc.shared_entities.first
115
- # precision = group.scale_precision
116
- #
117
- # @return [Float] the number specifying the precision for the {Layout::Group}
118
- #
119
- # @version LayOut 2018
120
- def scale_precision
121
- end
122
-
123
- # The {#scale_precision=} method sets the precision for the scale of the
124
- # {Layout::Group}.
125
- #
126
- # @example
127
- # doc = Layout::Document.open("C:/path/to/document.layout")
128
- # group = doc.shared_entities.first
129
- # group.scale_precision = 0.0001
130
- #
131
- # @note LayOut only allows for a finite set of precision values for each units
132
- # setting, so it will set the precision to the closest valid setting for the
133
- # specified units. See the "Units" section of LayOut's "Document Setup"
134
- # dialog for a reference of the available precisions for each units setting.
135
- #
136
- # @param [Float] precision
137
- # The double specifying the precision for the
138
- # {Layout::Group}
139
- #
140
- # @version LayOut 2018
141
- def scale_precision=(precision)
142
- end
143
-
144
- # The {#scale_units} method returns the units format used in the scale for the
145
- # {Layout::Group}.
146
- #
147
- # The units format can be any of the following values:
148
- # [Layout::Document::FRACTIONAL_INCHES]
149
- # [Layout::Document::DECIMAL_INCHES]
150
- # [Layout::Document::DECIMAL_FEET]
151
- # [Layout::Document::DECIMAL_MILLIMETERS]
152
- # [Layout::Document::DECIMAL_CENTIMETERS]
153
- # [Layout::Document::DECIMAL_METERS]
154
- # [Layout::Document::DECIMAL_POINTS]
155
- #
156
- # @example
157
- # doc = Layout::Document.open("C:/path/to/document.layout")
158
- # group = doc.shared_entities.first
159
- # units = group.scale_units
160
- #
161
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
162
- #
163
- # @return [Integer] units The units format of the scale factor
164
- #
165
- # @version LayOut 2018
166
- def scale_units
167
- end
168
-
169
- # The {#scale_units=} method sets the the units format for the scale of the
170
- # {Layout::Group}.
171
- #
172
- # The units format can be any of the following values:
173
- # [Layout::Document::FRACTIONAL_INCHES]
174
- # [Layout::Document::DECIMAL_INCHES]
175
- # [Layout::Document::DECIMAL_FEET]
176
- # [Layout::Document::DECIMAL_MILLIMETERS]
177
- # [Layout::Document::DECIMAL_CENTIMETERS]
178
- # [Layout::Document::DECIMAL_METERS]
179
- # [Layout::Document::DECIMAL_POINTS]
180
- #
181
- # @example
182
- # doc = Layout::Document.open("C:/path/to/document.layout")
183
- # group = doc.shared_entities.first
184
- # group.scale_units = Layout::Document::DECIMAL_FEET
185
- #
186
- # @param [Integer] units_format
187
- #
188
- # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
189
- #
190
- # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
191
- #
192
- # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
193
- #
194
- # @raise [ArgumentError] if scale_units is not a valid value
195
- #
196
- # @version LayOut 2018
197
- def scale_units=(units_format)
198
- end
199
-
200
- # The {#set_scale_factor} method sets the the scale factor for the
201
- # {Layout::Group}.
202
- #
203
- # The units format can be any of the following values:
204
- # [Layout::Document::FRACTIONAL_INCHES]
205
- # [Layout::Document::DECIMAL_INCHES]
206
- # [Layout::Document::DECIMAL_FEET]
207
- # [Layout::Document::DECIMAL_MILLIMETERS]
208
- # [Layout::Document::DECIMAL_CENTIMETERS]
209
- # [Layout::Document::DECIMAL_METERS]
210
- # [Layout::Document::DECIMAL_POINTS]
211
- #
212
- # The resize behavior can be one of the following values:
213
- # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
214
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
215
- # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
216
- #
217
- # @example
218
- # doc = Layout::Document.open("C:/path/to/document.layout")
219
- # group = doc.shared_entities.first
220
- # group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
221
- #
222
- # @param [Float] scale_factor
223
- #
224
- # @param [Integer] units_format
225
- #
226
- # @param [Integer] resize_behavior
227
- #
228
- # @raise [LockedLayerError] if the {Layout::Group} is on a locked
229
- # {Layout::Layer}
230
- #
231
- # @raise [LockedEntityError] if the {Layout::Group} is locked
232
- #
233
- # @raise [ArgumentError] if scale_factor is an invalid value
234
- #
235
- # @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
236
- # factor because it is already inheriting a scale factor from its parent
237
- #
238
- # @raise [ArgumentError] if a scale factor cannot be set for the
239
- # {Layout::Group}
240
- #
241
- # @version LayOut 2018
242
- def set_scale_factor(scale_factor, units_format, resize_behavior)
243
- end
244
-
245
- # The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
246
- # and deletes the {Layout::Group}.
247
- #
248
- # @example
249
- # doc = Layout::Document.open("C:/path/to/document.layout")
250
- # group = doc.shared_entities.first
251
- # group.ungroup
252
- #
253
- # @raise [LockedEntityError] if the {Layout::Group} is locked
254
- #
255
- # @return [Boolean]
256
- #
257
- # @version LayOut 2018
258
- def ungroup
259
- end
260
-
261
- end
1
+ # Copyright:: Copyright 2020 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A group is a special type of {Layout::Entity} that does not belong to a
5
+ # {Layout::Layer} and contains other {Layout::Entity}s as children. A
6
+ # {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
7
+ # hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
8
+ # contain at least one child and will be automatically collapsed if an
9
+ # operation is performed that results in the {Layout::Group} being empty.
10
+ #
11
+ # @version LayOut 2018
12
+ class Layout::Group < Layout::Entity
13
+
14
+ # Constants
15
+
16
+ RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
17
+ RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
18
+ RESIZE_BEHAVIOR_NONE = nil # Stub value.
19
+
20
+ # Instance Methods
21
+
22
+ # The {#entities} method returns the {Layout::Entities} that belong to the
23
+ # {Layout::Group}.
24
+ #
25
+ # @example
26
+ # doc = Layout::Document.open("C:/path/to/document.layout")
27
+ # group = doc.shared_entities.first
28
+ # entities = group.entities
29
+ #
30
+ # @return [Layout::Entities]
31
+ #
32
+ # @version LayOut 2018
33
+ def entities
34
+ end
35
+
36
+ # The {#initialize} method creates a new {Layout::Group}.
37
+ #
38
+ # @example
39
+ # doc = Layout::Document.open("C:/path/to/document.layout")
40
+ # entities = doc.shared_entities
41
+ # entities.each { |entity|
42
+ # entity_array.push(entity)
43
+ # }
44
+ # group = Layout::Group.new(entity_array)
45
+ #
46
+ # @param [Array<Layout::Entity>] entities
47
+ #
48
+ # @raise [ArgumentError] if entities is empty.
49
+ #
50
+ # @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
51
+ # different {Layout::Document}s
52
+ #
53
+ # @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
54
+ # belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
55
+ # {Layout::Document}
56
+ #
57
+ # @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
58
+ # and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
59
+ # belonging to different {Layout::Page}s
60
+ #
61
+ # @raise [ArgumentError] if entities contains the same {Layout::Entity} more
62
+ # than once
63
+ #
64
+ # @return [Layout::Group]
65
+ #
66
+ # @version LayOut 2018
67
+ def initialize(entities)
68
+ end
69
+
70
+ # The {#remove_scale_factor} method removes the scale factor from the
71
+ # {Layout::Group}.
72
+ #
73
+ # The resize behavior can be one of the following values:
74
+ # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
75
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
76
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
77
+ #
78
+ # @example
79
+ # doc = Layout::Document.open("C:/path/to/document.layout")
80
+ # group = doc.shared_entities.first
81
+ # group.remove_scale_factor(true)
82
+ #
83
+ # @param [Integer] resize_behavior
84
+ #
85
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
86
+ #
87
+ # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
88
+ #
89
+ # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
90
+ #
91
+ # @version LayOut 2018
92
+ def remove_scale_factor(resize_behavior)
93
+ end
94
+
95
+ # The {#scale_factor} method returns the the scale factor associated with the
96
+ # {Layout::Group}.
97
+ #
98
+ # @example
99
+ # doc = Layout::Document.open("C:/path/to/document.layout")
100
+ # group = doc.shared_entities.first
101
+ # scale = group.scale_factor
102
+ #
103
+ # @return [Float, nil]
104
+ #
105
+ # @version LayOut 2018
106
+ def scale_factor
107
+ end
108
+
109
+ # The {#scale_precision} method returns the precision used for the scale of the
110
+ # {Layout::Group}.
111
+ #
112
+ # @example
113
+ # doc = Layout::Document.open("C:/path/to/document.layout")
114
+ # group = doc.shared_entities.first
115
+ # precision = group.scale_precision
116
+ #
117
+ # @return [Float] the number specifying the precision for the {Layout::Group}
118
+ #
119
+ # @version LayOut 2018
120
+ def scale_precision
121
+ end
122
+
123
+ # The {#scale_precision=} method sets the precision for the scale of the
124
+ # {Layout::Group}.
125
+ #
126
+ # @example
127
+ # doc = Layout::Document.open("C:/path/to/document.layout")
128
+ # group = doc.shared_entities.first
129
+ # group.scale_precision = 0.0001
130
+ #
131
+ # @note LayOut only allows for a finite set of precision values for each units
132
+ # setting, so it will set the precision to the closest valid setting for the
133
+ # specified units. See the "Units" section of LayOut's "Document Setup"
134
+ # dialog for a reference of the available precisions for each units setting.
135
+ #
136
+ # @param [Float] precision
137
+ # The double specifying the precision for the
138
+ # {Layout::Group}
139
+ #
140
+ # @version LayOut 2018
141
+ def scale_precision=(precision)
142
+ end
143
+
144
+ # The {#scale_units} method returns the units format used in the scale for the
145
+ # {Layout::Group}.
146
+ #
147
+ # The units format can be any of the following values:
148
+ # [Layout::Document::FRACTIONAL_INCHES]
149
+ # [Layout::Document::DECIMAL_INCHES]
150
+ # [Layout::Document::DECIMAL_FEET]
151
+ # [Layout::Document::DECIMAL_MILLIMETERS]
152
+ # [Layout::Document::DECIMAL_CENTIMETERS]
153
+ # [Layout::Document::DECIMAL_METERS]
154
+ # [Layout::Document::DECIMAL_POINTS]
155
+ #
156
+ # @example
157
+ # doc = Layout::Document.open("C:/path/to/document.layout")
158
+ # group = doc.shared_entities.first
159
+ # units = group.scale_units
160
+ #
161
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
162
+ #
163
+ # @return [Integer] units The units format of the scale factor
164
+ #
165
+ # @version LayOut 2018
166
+ def scale_units
167
+ end
168
+
169
+ # The {#scale_units=} method sets the the units format for the scale of the
170
+ # {Layout::Group}.
171
+ #
172
+ # The units format can be any of the following values:
173
+ # [Layout::Document::FRACTIONAL_INCHES]
174
+ # [Layout::Document::DECIMAL_INCHES]
175
+ # [Layout::Document::DECIMAL_FEET]
176
+ # [Layout::Document::DECIMAL_MILLIMETERS]
177
+ # [Layout::Document::DECIMAL_CENTIMETERS]
178
+ # [Layout::Document::DECIMAL_METERS]
179
+ # [Layout::Document::DECIMAL_POINTS]
180
+ #
181
+ # @example
182
+ # doc = Layout::Document.open("C:/path/to/document.layout")
183
+ # group = doc.shared_entities.first
184
+ # group.scale_units = Layout::Document::DECIMAL_FEET
185
+ #
186
+ # @param [Integer] units_format
187
+ #
188
+ # @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
189
+ #
190
+ # @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
191
+ #
192
+ # @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
193
+ #
194
+ # @raise [ArgumentError] if scale_units is not a valid value
195
+ #
196
+ # @version LayOut 2018
197
+ def scale_units=(units_format)
198
+ end
199
+
200
+ # The {#set_scale_factor} method sets the the scale factor for the
201
+ # {Layout::Group}.
202
+ #
203
+ # The units format can be any of the following values:
204
+ # [Layout::Document::FRACTIONAL_INCHES]
205
+ # [Layout::Document::DECIMAL_INCHES]
206
+ # [Layout::Document::DECIMAL_FEET]
207
+ # [Layout::Document::DECIMAL_MILLIMETERS]
208
+ # [Layout::Document::DECIMAL_CENTIMETERS]
209
+ # [Layout::Document::DECIMAL_METERS]
210
+ # [Layout::Document::DECIMAL_POINTS]
211
+ #
212
+ # The resize behavior can be one of the following values:
213
+ # [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
214
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
215
+ # [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
216
+ #
217
+ # @example
218
+ # doc = Layout::Document.open("C:/path/to/document.layout")
219
+ # group = doc.shared_entities.first
220
+ # group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
221
+ #
222
+ # @param [Float] scale_factor
223
+ #
224
+ # @param [Integer] units_format
225
+ #
226
+ # @param [Integer] resize_behavior
227
+ #
228
+ # @raise [LockedLayerError] if the {Layout::Group} is on a locked
229
+ # {Layout::Layer}
230
+ #
231
+ # @raise [LockedEntityError] if the {Layout::Group} is locked
232
+ #
233
+ # @raise [ArgumentError] if scale_factor is an invalid value
234
+ #
235
+ # @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
236
+ # factor because it is already inheriting a scale factor from its parent
237
+ #
238
+ # @raise [ArgumentError] if a scale factor cannot be set for the
239
+ # {Layout::Group}
240
+ #
241
+ # @version LayOut 2018
242
+ def set_scale_factor(scale_factor, units_format, resize_behavior)
243
+ end
244
+
245
+ # The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
246
+ # and deletes the {Layout::Group}.
247
+ #
248
+ # @example
249
+ # doc = Layout::Document.open("C:/path/to/document.layout")
250
+ # group = doc.shared_entities.first
251
+ # group.ungroup
252
+ #
253
+ # @raise [LockedEntityError] if the {Layout::Group} is locked
254
+ #
255
+ # @return [Boolean]
256
+ #
257
+ # @version LayOut 2018
258
+ def ungroup
259
+ end
260
+
261
+ end