sketchup-api-stubs 0.7.7 → 0.7.9

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → 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 +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -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 +370 -370
  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 +225 -225
  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 +209 -209
  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/ReferenceEntity.rb +82 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  44. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  45. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  49. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  50. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -257
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,422 +1,422 @@
1
- # Copyright:: Copyright 2021 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
- # You could use this for sorting if you're building a list of folder names.
23
- #
24
- # @api TagFolder
25
- #
26
- # @example
27
- # model = Sketchup.active_model
28
- # layers = model.layers
29
- # folder1 = layers.add('Folder1')
30
- # folder2 = layers.add('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('Folder1')
210
- # parent_folder = folder1.folder # Returns: nil
211
- #
212
- # folder2 = folder1.add('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('Folder1')
233
- # folder2 = layers.add('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 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