sketchup-api-stubs 0.7.9 → 0.7.11

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +751 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,422 +1,380 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # Allows layers to be organized in folders. Folders may have duplicate names.
5
- #
6
- # @api TagFolder
7
- #
8
- # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
9
- # The API retains the use of "Layer" for compatibility and is synonymous with
10
- # "Tag".
11
- #
12
- # @version SketchUp 2021.0
13
- class Sketchup::LayerFolder < Sketchup::Entity
14
-
15
- # Includes
16
-
17
- include Comparable
18
-
19
- # Instance Methods
20
-
21
- # The {#<=>} method is used to compare two layer folders based on their names.
22
- # This enables the Ruby +Array#sort+ method to sort SketchUp layer folders.
23
- #
24
- # @api TagFolder
25
- #
26
- # @example
27
- # model = Sketchup.active_model
28
- # layers = model.layers
29
- # folder1 = layers.add_folder('Folder1')
30
- # folder2 = layers.add_folder('Folder2')
31
- # comparison = folder1 <=> folder2 # Returns: -1
32
- # comparison = folder1 <=> folder1 # Returns: 0
33
- # comparison = folder2 <=> folder1 # Returns: 1
34
- #
35
- # @param [Object] other
36
- #
37
- # @return [Integer, nil] +-1+ if the receiver should appear before +other+.
38
- # +1+ if the receiver should appear after +other+.
39
- # +0+ if the receiver and +other+ are equal.
40
- # +nil+ if +other+ is not comparable with the receiver.
41
- #
42
- # @version SketchUp 2021.0
43
- def <=>(other)
44
- end
45
-
46
- # The {#==} method is used to determine if two layer folders are the same.
47
- #
48
- # @api TagFolder
49
- #
50
- # @example
51
- # model = Sketchup.active_model
52
- # layers = model.layers
53
- # folder1 = layers.add('Folder1')
54
- # folder2 = layers.add('Folder2')
55
- # equal = folder1 == folder2
56
- #
57
- # @param [Object] other
58
- #
59
- # @return [Boolean]
60
- #
61
- # @version SketchUp 2021.0
62
- def ==(other)
63
- end
64
-
65
- # The {#add_folder} method adds or moves a layer folder.
66
- #
67
- # @api TagFolder
68
- #
69
- # @example
70
- # manager = Sketchup.active_model.layers
71
- # folder1 = manager.add_folder('Doors')
72
- # folder2 = folder1.add_folder('Outer Doors')
73
- #
74
- # @overload add_folder(name)
75
- #
76
- # Adds a new folder with the given name. Unlike layers, folders do not
77
- # need to have a unique name.
78
- # @param [String] name
79
- #
80
- # @overload add_folder(folder)
81
- #
82
- # Moves an existing {Sketchup::LayerFolder} to the receiver. This will
83
- # include any children in the given folder.
84
- # @param [Sketchup::LayerFolder] folder
85
- # @see Sketchup::LayerFolder#folder= Information on how which notifications
86
- # trigger when reparenting an existing folder.
87
- #
88
- # @return [Sketchup::LayerFolder]
89
- #
90
- # @see #count_layers
91
- #
92
- # @version SketchUp 2021.0
93
- def add_folder(arg)
94
- end
95
-
96
- # The {#add_layer} method adds a layer to a folder.
97
- #
98
- # @api TagFolder
99
- #
100
- # @example
101
- # manager = Sketchup.active_model.layers
102
- # layer = manager.add_layer('Inner Doors')
103
- # folder = manager.add_folder('Doors')
104
- #
105
- # folder.add_layer(layer)
106
- #
107
- # @param [Sketchup::Layer] layer
108
- #
109
- # @return [nil]
110
- #
111
- # @see Sketchup::Layer#folder=
112
- # Information on how which notifications
113
- # trigger when reparenting a layer.
114
- #
115
- # @version SketchUp 2021.0
116
- def add_layer(layer)
117
- end
118
-
119
- # The {#count_folders} method retrieves the number of child folders in the
120
- # folder.
121
- #
122
- # @api TagFolder
123
- #
124
- # @example
125
- # layers = Sketchup.active_model.layers
126
- # folder1 = layers.add_folder('Hello')
127
- # folder2 = folder1.add_folder('World')
128
- # number = folder1.folder_count # Returns: 1
129
- #
130
- # @return [Integer]
131
- #
132
- # @version SketchUp 2021.0
133
- def count_folders
134
- end
135
-
136
- # The {#count_layers} method retrieves the number of layers in the folder.
137
- #
138
- # @api TagFolder
139
- #
140
- # @example
141
- # layers = Sketchup.active_model.layers
142
- # layer = layers.add_layer('World')
143
- # folder = layers.add_folder('Hello')
144
- # folder.add_layer(layer)
145
- # number = folder.layer_count # Returns: 1
146
- #
147
- # @return [Integer]
148
- #
149
- # @see #size
150
- #
151
- # @see #length
152
- #
153
- # @version SketchUp 2021.0
154
- def count_layers
155
- end
156
- alias_method :length, :count_layers
157
- alias_method :size, :count_layers
158
-
159
- # The {#each_folder} method is used to iterate through the folders that are
160
- # direct children to the folder.
161
- #
162
- # @api TagFolder
163
- #
164
- # @example
165
- # model = Sketchup.active_model
166
- # layers = model.layers
167
- # folder1 = layers.add_folder('Hello')
168
- # folder1.add_folder('World')
169
- # folder1.each_folder { | folder | puts folder.name }
170
- #
171
- # @version SketchUp 2021.0
172
- #
173
- # @yield [folder]
174
- #
175
- # @yieldparam [Sketchup::LayerFolder] folder
176
- def each_folder
177
- end
178
-
179
- # The {#each_layer} method is used to iterate through the layers that are
180
- # direct children to the folder.
181
- #
182
- # @api TagFolder
183
- #
184
- # @example
185
- # model = Sketchup.active_model
186
- # layers = model.layers
187
- # layer = layers.add_layer('World')
188
- # folder = layers.add_folder('Hello')
189
- # folder.add_layer(layer)
190
- # folder.each_layer { | layer | puts layer.name }
191
- #
192
- # @version SketchUp 2021.0
193
- #
194
- # @yield [layer]
195
- #
196
- # @yieldparam [Sketchup::Layer] layer
197
- def each_layer
198
- end
199
- alias_method :each, :each_layer
200
-
201
- # The {#folder} method is used to return the parent layer folder of a layer
202
- # folder.
203
- #
204
- # @api TagFolder
205
- #
206
- # @example
207
- # model = Sketchup.active_model
208
- # layers = model.layers
209
- # folder1 = layers.add_folder('Folder1')
210
- # parent_folder = folder1.folder # Returns: nil
211
- #
212
- # folder2 = folder1.add_folder('Folder2')
213
- # parent_folder = folder2.folder # Returns: folder1
214
- #
215
- # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
216
- # the layer manager.
217
- #
218
- # @version SketchUp 2021.0
219
- def folder
220
- end
221
-
222
- # The {#folder=} method is used to set the parent layer folder of a layer
223
- # folder.
224
- #
225
- # This will trigger +onLayerFolderRemoved+ followed by +onLayerFolderAdded+.
226
- #
227
- # @api TagFolder
228
- #
229
- # @example
230
- # model = Sketchup.active_model
231
- # layers = model.layers
232
- # folder1 = layers.add_folder('Folder1')
233
- # folder2 = layers.add_folder('Folder2')
234
- #
235
- # folder2.folder = folder1
236
- #
237
- # @param [Sketchup::LayerFolder, nil] parent
238
- # +nil+ will make the the folder a
239
- # direct child to the layer manager.
240
- #
241
- # @version SketchUp 2021.0
242
- def folder=(parent)
243
- end
244
-
245
- # The {#folders} returns the direct child-folders of the folder.
246
- #
247
- # @api TagFolder
248
- #
249
- # @example
250
- # manager = Sketchup.active_model.layers
251
- # folder1 = manager.add_folder('Doors')
252
- # folder2 = folder1.add_folder('Windows')
253
- # folders = folder1.folders
254
- #
255
- # @return [Array<Sketchup::LayerFolder>]
256
- #
257
- # @version SketchUp 2021.0
258
- def folders
259
- end
260
-
261
- # The {#layers} method retrieves the child layers of a folder.
262
- #
263
- # @api TagFolder
264
- #
265
- # @example
266
- # manager = Sketchup.active_model.layers
267
- # folder = manager.add_folder('Hello')
268
- # folder.add_layer(manager.add_layer('World'))
269
- # folder.add_layer(manager.add_layer('Universe'))
270
- #
271
- # layers = folder.layers
272
- #
273
- # @return [Array<Sketchup::Layer>]
274
- #
275
- # @version SketchUp 2021.0
276
- def layers
277
- end
278
-
279
- # The {#name} method gets the name of the folder.
280
- #
281
- # @api TagFolder
282
- #
283
- # @example
284
- # manager = Sketchup.active_model.layers
285
- # folder = manager.add_folder('Doors')
286
- # name = folder.name
287
- #
288
- # @return [String]
289
- #
290
- # @version SketchUp 2021.0
291
- def name
292
- end
293
- alias_method :display_name, :name
294
-
295
- # The {#name=} method sets the name of the folder.
296
- #
297
- # @api TagFolder
298
- #
299
- # @example
300
- # manager = Sketchup.active_model.layers
301
- # folder = manager.add_folder('Doors')
302
- # folder.name = 'Windows'
303
- #
304
- # @param [String] name
305
- #
306
- # @raise [ArgumentError] if +name+ is empty.
307
- #
308
- # @version SketchUp 2021.0
309
- def name=(name)
310
- end
311
-
312
- # The {#remove_folder} method removes the folder from the model. All children
313
- # are preserved, but move up one level.
314
- #
315
- # @api TagFolder
316
- #
317
- # @example
318
- # manager = Sketchup.active_model.layers
319
- # folder1 = manager.add_folder('Doors')
320
- # folder2 = manager.add_folder('Outer Doors')
321
- # folder1.remove_folder(folder2)
322
- #
323
- # @param [Sketchup::LayerFolder] folder
324
- #
325
- # @raise [ArgumentError] if the +folder+ is not a direct child of the receiver.
326
- #
327
- # @return [nil]
328
- #
329
- # @version SketchUp 2021.0
330
- def remove_folder(folder)
331
- end
332
-
333
- # The {#remove_layer} method removes a layer from a folder. The layer will be
334
- # parent to the layer manager.
335
- #
336
- # @api TagFolder
337
- #
338
- # @example
339
- # manager = Sketchup.active_model.layers
340
- # layer = manager.add_layer('Inner Doors')
341
- # folder = manager.add_folder('Doors')
342
- # folder.add_layer(layer)
343
- #
344
- # folder.remove_layer(layer)
345
- #
346
- # @param [Sketchup::Layer] layer
347
- #
348
- # @return [nil]
349
- #
350
- # @version SketchUp 2021.0
351
- def remove_layer(layer)
352
- end
353
-
354
- # The {#visible=} method is used to set if the layer folder is visible.
355
- #
356
- # @api TagFolder
357
- #
358
- # @example
359
- # model = Sketchup.active_model
360
- # layers = model.layers
361
- # folder = layers.add('Hello')
362
- # folder.visible = false
363
- #
364
- # @param [Boolean] visible
365
- #
366
- # @version SketchUp 2021.0
367
- def visible=(visible)
368
- end
369
-
370
- # The {#visible?} method is used to determine if the layer folder is visible.
371
- #
372
- # @api TagFolder
373
- #
374
- # @example
375
- # model = Sketchup.active_model
376
- # layers = model.layers
377
- # folder = layers.add('Hello')
378
- # folder.visible? # Returns: true
379
- #
380
- # @return [Boolean]
381
- #
382
- # @version SketchUp 2021.0
383
- def visible?
384
- end
385
-
386
- # The {#visible_on_new_pages=} method is used to set if the layer folder is by
387
- # default visible on new pages.
388
- #
389
- # @api TagFolder
390
- #
391
- # @example
392
- # model = Sketchup.active_model
393
- # layers = model.layers
394
- # folder = layers.add_folder('Hello')
395
- # folder.visible_on_new_pages = false
396
- # page = model.pages.add('My Page')
397
- # model.pages.select_page = page # `folder` will now be hidden.
398
- #
399
- # @param [Boolean] visible
400
- #
401
- # @version SketchUp 2021.0
402
- def visible_on_new_pages=(visible)
403
- end
404
-
405
- # The {#visible_on_new_pages?} method is used to determine if the layer folder
406
- # is by default visible on new pages.
407
- #
408
- # @api TagFolder
409
- #
410
- # @example
411
- # model = Sketchup.active_model
412
- # layers = model.layers
413
- # folder = layers.add_folder('Hello')
414
- # folder.visible_on_new_pages? # Returns: true
415
- #
416
- # @return [Boolean]
417
- #
418
- # @version SketchUp 2021.0
419
- def visible_on_new_pages?
420
- end
421
-
422
- end
1
+ # Copyright:: Copyright 2026 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # Allows layers to be organized in folders. Folders may have duplicate names.
5
+ #
6
+ # @note As of SketchUp 2020 "Layers" were renamed to "Tags" in the UI.
7
+ # The API retains the use of "Layer" for compatibility and is synonymous with
8
+ # "Tag".
9
+ #
10
+ # @version SketchUp 2021.0
11
+ class Sketchup::LayerFolder < Sketchup::Entity
12
+
13
+ # Includes
14
+
15
+ include Comparable
16
+
17
+ # Instance Methods
18
+
19
+ # The {#<=>} method is used to compare two layer folders based on their names.
20
+ # This enables the Ruby +Array#sort+ method to sort SketchUp layer folders.
21
+ #
22
+ # @example
23
+ # model = Sketchup.active_model
24
+ # layers = model.layers
25
+ # folder1 = layers.add_folder('Folder1')
26
+ # folder2 = layers.add_folder('Folder2')
27
+ # comparison = folder1 <=> folder2 # Returns: -1
28
+ # comparison = folder1 <=> folder1 # Returns: 0
29
+ # comparison = folder2 <=> folder1 # Returns: 1
30
+ #
31
+ # @param [Object] other
32
+ #
33
+ # @return [Integer, nil] +-1+ if the receiver should appear before +other+.
34
+ # +1+ if the receiver should appear after +other+.
35
+ # +0+ if the receiver and +other+ are equal.
36
+ # +nil+ if +other+ is not comparable with the receiver.
37
+ #
38
+ # @version SketchUp 2021.0
39
+ def <=>(other)
40
+ end
41
+
42
+ # The {#==} method is used to determine if two layer folders are the same.
43
+ #
44
+ # @example
45
+ # model = Sketchup.active_model
46
+ # layers = model.layers
47
+ # folder1 = layers.add_folder('Folder1')
48
+ # folder2 = layers.add_folder('Folder2')
49
+ # equal = folder1 == folder2
50
+ #
51
+ # @param [Object] other
52
+ #
53
+ # @return [Boolean]
54
+ #
55
+ # @version SketchUp 2021.0
56
+ def ==(other)
57
+ end
58
+
59
+ # The {#add_folder} method adds or moves a layer folder.
60
+ #
61
+ # @example
62
+ # manager = Sketchup.active_model.layers
63
+ # folder1 = manager.add_folder('Doors')
64
+ # folder2 = folder1.add_folder('Outer Doors')
65
+ #
66
+ # @overload add_folder(name)
67
+ #
68
+ # Adds a new folder with the given name. Unlike layers, folders do not
69
+ # need to have a unique name.
70
+ # @param [String] name
71
+ #
72
+ # @overload add_folder(folder)
73
+ #
74
+ # Moves an existing {Sketchup::LayerFolder} to the receiver. This will
75
+ # include any children in the given folder.
76
+ # @param [Sketchup::LayerFolder] folder
77
+ # @see Sketchup::LayerFolder#folder= Information on how which notifications
78
+ # trigger when reparenting an existing folder.
79
+ #
80
+ # @return [Sketchup::LayerFolder]
81
+ #
82
+ # @see #count_layers
83
+ #
84
+ # @version SketchUp 2021.0
85
+ def add_folder(arg)
86
+ end
87
+
88
+ # The {#add_layer} method adds a layer to a folder.
89
+ #
90
+ # @example
91
+ # manager = Sketchup.active_model.layers
92
+ # layer = manager.add_layer('Inner Doors')
93
+ # folder = manager.add_folder('Doors')
94
+ #
95
+ # folder.add_layer(layer)
96
+ #
97
+ # @param [Sketchup::Layer] layer
98
+ #
99
+ # @return [nil]
100
+ #
101
+ # @see Sketchup::Layer#folder=
102
+ # Information on how which notifications
103
+ # trigger when reparenting a layer.
104
+ #
105
+ # @version SketchUp 2021.0
106
+ def add_layer(layer)
107
+ end
108
+
109
+ # The {#count_folders} method retrieves the number of child folders in the
110
+ # folder.
111
+ #
112
+ # @example
113
+ # layers = Sketchup.active_model.layers
114
+ # folder1 = layers.add_folder('Hello')
115
+ # folder2 = folder1.add_folder('World')
116
+ # number = folder1.folder_count # Returns: 1
117
+ #
118
+ # @return [Integer]
119
+ #
120
+ # @version SketchUp 2021.0
121
+ def count_folders
122
+ end
123
+
124
+ # The {#count_layers} method retrieves the number of layers in the folder.
125
+ #
126
+ # @example
127
+ # layers = Sketchup.active_model.layers
128
+ # layer = layers.add_layer('World')
129
+ # folder = layers.add_folder('Hello')
130
+ # folder.add_layer(layer)
131
+ # number = folder.layer_count # Returns: 1
132
+ #
133
+ # @return [Integer]
134
+ #
135
+ # @see #size
136
+ #
137
+ # @see #length
138
+ #
139
+ # @version SketchUp 2021.0
140
+ def count_layers
141
+ end
142
+ alias_method :length, :count_layers
143
+ alias_method :size, :count_layers
144
+
145
+ # The {#each_folder} method is used to iterate through the folders that are
146
+ # direct children to the folder.
147
+ #
148
+ # @example
149
+ # model = Sketchup.active_model
150
+ # layers = model.layers
151
+ # folder1 = layers.add_folder('Hello')
152
+ # folder1.add_folder('World')
153
+ # folder1.each_folder { | folder | puts folder.name }
154
+ #
155
+ # @version SketchUp 2021.0
156
+ #
157
+ # @yield [folder]
158
+ #
159
+ # @yieldparam [Sketchup::LayerFolder] folder
160
+ def each_folder
161
+ end
162
+
163
+ # The {#each_layer} method is used to iterate through the layers that are
164
+ # direct children to the folder.
165
+ #
166
+ # @example
167
+ # model = Sketchup.active_model
168
+ # layers = model.layers
169
+ # layer = layers.add_layer('World')
170
+ # folder = layers.add_folder('Hello')
171
+ # folder.add_layer(layer)
172
+ # folder.each_layer { | layer | puts layer.name }
173
+ #
174
+ # @version SketchUp 2021.0
175
+ #
176
+ # @yield [layer]
177
+ #
178
+ # @yieldparam [Sketchup::Layer] layer
179
+ def each_layer
180
+ end
181
+ alias_method :each, :each_layer
182
+
183
+ # The {#folder} method is used to return the parent layer folder of a layer
184
+ # folder.
185
+ #
186
+ # @example
187
+ # model = Sketchup.active_model
188
+ # layers = model.layers
189
+ # folder1 = layers.add_folder('Folder1')
190
+ # parent_folder = folder1.folder # Returns: nil
191
+ #
192
+ # folder2 = folder1.add_folder('Folder2')
193
+ # parent_folder = folder2.folder # Returns: folder1
194
+ #
195
+ # @return [Sketchup::LayerFolder, nil] +nil+ if the folder is a direct child to
196
+ # the layer manager.
197
+ #
198
+ # @version SketchUp 2021.0
199
+ def folder
200
+ end
201
+
202
+ # The {#folder=} method is used to set the parent layer folder of a layer
203
+ # folder.
204
+ #
205
+ # This will trigger +onLayerFolderRemoved+ followed by +onLayerFolderAdded+.
206
+ #
207
+ # @example
208
+ # model = Sketchup.active_model
209
+ # layers = model.layers
210
+ # folder1 = layers.add_folder('Folder1')
211
+ # folder2 = layers.add_folder('Folder2')
212
+ #
213
+ # folder2.folder = folder1
214
+ #
215
+ # @param [Sketchup::LayerFolder, nil] parent
216
+ # +nil+ will make the the folder a
217
+ # direct child to the layer manager.
218
+ #
219
+ # @version SketchUp 2021.0
220
+ def folder=(parent)
221
+ end
222
+
223
+ # The {#folders} returns the direct child-folders of the folder.
224
+ #
225
+ # @example
226
+ # manager = Sketchup.active_model.layers
227
+ # folder1 = manager.add_folder('Doors')
228
+ # folder2 = folder1.add_folder('Windows')
229
+ # folders = folder1.folders
230
+ #
231
+ # @return [Array<Sketchup::LayerFolder>]
232
+ #
233
+ # @version SketchUp 2021.0
234
+ def folders
235
+ end
236
+
237
+ # The {#layers} method retrieves the child layers of a folder.
238
+ #
239
+ # @example
240
+ # manager = Sketchup.active_model.layers
241
+ # folder = manager.add_folder('Hello')
242
+ # folder.add_layer(manager.add_layer('World'))
243
+ # folder.add_layer(manager.add_layer('Universe'))
244
+ #
245
+ # layers = folder.layers
246
+ #
247
+ # @return [Array<Sketchup::Layer>]
248
+ #
249
+ # @version SketchUp 2021.0
250
+ def layers
251
+ end
252
+
253
+ # The {#name} method gets the name of the folder.
254
+ #
255
+ # @example
256
+ # manager = Sketchup.active_model.layers
257
+ # folder = manager.add_folder('Doors')
258
+ # name = folder.name
259
+ #
260
+ # @return [String]
261
+ #
262
+ # @version SketchUp 2021.0
263
+ def name
264
+ end
265
+ alias_method :display_name, :name
266
+
267
+ # The {#name=} method sets the name of the folder.
268
+ #
269
+ # @example
270
+ # manager = Sketchup.active_model.layers
271
+ # folder = manager.add_folder('Doors')
272
+ # folder.name = 'Windows'
273
+ #
274
+ # @param [String] name
275
+ #
276
+ # @raise [ArgumentError] if +name+ is empty.
277
+ #
278
+ # @version SketchUp 2021.0
279
+ def name=(name)
280
+ end
281
+
282
+ # The {#remove_folder} method removes the folder from the model. All children
283
+ # are preserved, but move up one level.
284
+ #
285
+ # @example
286
+ # manager = Sketchup.active_model.layers
287
+ # folder1 = manager.add_folder('Doors')
288
+ # folder2 = manager.add_folder('Outer Doors')
289
+ # folder1.remove_folder(folder2)
290
+ #
291
+ # @param [Sketchup::LayerFolder] folder
292
+ #
293
+ # @raise [ArgumentError] if the +folder+ is not a direct child of the receiver.
294
+ #
295
+ # @return [nil]
296
+ #
297
+ # @version SketchUp 2021.0
298
+ def remove_folder(folder)
299
+ end
300
+
301
+ # The {#remove_layer} method removes a layer from a folder. The layer will be
302
+ # parent to the layer manager.
303
+ #
304
+ # @example
305
+ # manager = Sketchup.active_model.layers
306
+ # layer = manager.add_layer('Inner Doors')
307
+ # folder = manager.add_folder('Doors')
308
+ # folder.add_layer(layer)
309
+ #
310
+ # folder.remove_layer(layer)
311
+ #
312
+ # @param [Sketchup::Layer] layer
313
+ #
314
+ # @return [nil]
315
+ #
316
+ # @version SketchUp 2021.0
317
+ def remove_layer(layer)
318
+ end
319
+
320
+ # The {#visible=} method is used to set if the layer folder is visible.
321
+ #
322
+ # @example
323
+ # model = Sketchup.active_model
324
+ # layers = model.layers
325
+ # folder = layers.add('Hello')
326
+ # folder.visible = false
327
+ #
328
+ # @param [Boolean] visible
329
+ #
330
+ # @version SketchUp 2021.0
331
+ def visible=(visible)
332
+ end
333
+
334
+ # The {#visible?} method is used to determine if the layer folder is visible.
335
+ #
336
+ # @example
337
+ # model = Sketchup.active_model
338
+ # layers = model.layers
339
+ # folder = layers.add('Hello')
340
+ # folder.visible? # Returns: true
341
+ #
342
+ # @return [Boolean]
343
+ #
344
+ # @version SketchUp 2021.0
345
+ def visible?
346
+ end
347
+
348
+ # The {#visible_on_new_pages=} method is used to set if the layer folder is by
349
+ # default visible on new pages.
350
+ #
351
+ # @example
352
+ # model = Sketchup.active_model
353
+ # layers = model.layers
354
+ # folder = layers.add_folder('Hello')
355
+ # folder.visible_on_new_pages = false
356
+ # page = model.pages.add('My Page')
357
+ # model.pages.select_page = page # `folder` will now be hidden.
358
+ #
359
+ # @param [Boolean] visible
360
+ #
361
+ # @version SketchUp 2021.0
362
+ def visible_on_new_pages=(visible)
363
+ end
364
+
365
+ # The {#visible_on_new_pages?} method is used to determine if the layer folder
366
+ # is by default visible on new pages.
367
+ #
368
+ # @example
369
+ # model = Sketchup.active_model
370
+ # layers = model.layers
371
+ # folder = layers.add_folder('Hello')
372
+ # folder.visible_on_new_pages? # Returns: true
373
+ #
374
+ # @return [Boolean]
375
+ #
376
+ # @version SketchUp 2021.0
377
+ def visible_on_new_pages?
378
+ end
379
+
380
+ end