sketchup-api-stubs 0.7.4 → 0.7.8

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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  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 +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -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 -348
  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 +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  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 -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 +225 -220
  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 -204
  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 +692 -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/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,329 +1,426 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # A DefinitionList object holds a list of all of the ComponentDefinition
5
- # objects in a model. This class contains methods for adding and retrieving
6
- # definitions from the list.
7
- #
8
- # @version SketchUp 6.0
9
- class Sketchup::DefinitionList < Sketchup::Entity
10
-
11
- # Includes
12
-
13
- include Enumerable
14
-
15
- # Instance Methods
16
-
17
- # The [] method is used to retrieve a component definition from the list. You
18
- # can give an integer index in the range 0 to length, a string which
19
- # represents the GUID (a unique internal identifier), or a string that is
20
- # the name of the definition.
21
- #
22
- # @example
23
- # path=Sketchup.find_support_file "Bed.skp",
24
- # "Components/Components Sampler/"
25
- # model = Sketchup.active_model
26
- # definitions = model.definitions
27
- # componentdefinition = definitions.load path
28
- # component = definitions[0]
29
- #
30
- # @overload [](index)
31
- #
32
- # @param [Integer] index The index for a specific component definition.
33
- # @return [Sketchup::ComponentDefinition, nil]
34
- #
35
- # @overload [](name)
36
- #
37
- # @param [String] name The unique GUID for the component definition.
38
- # @return [Sketchup::ComponentDefinition, nil]
39
- #
40
- # @overload [](guid)
41
- #
42
- # @param [String] guid The name of an existing component definition.
43
- # @return [Sketchup::ComponentDefinition, nil]
44
- #
45
- # @version SketchUp 6.0
46
- def [](arg)
47
- end
48
-
49
- # The add method is used to add a new component definition to the definition
50
- # list with the given name.
51
- #
52
- # @example
53
- # model = Sketchup.active_model
54
- # definitions = model.definitions
55
- # componentdefinition = definitions.add "BedTraditional"
56
- # component = definitions[0]
57
- #
58
- # @param [String] def_name
59
- # The new component definition to add to the definition
60
- # list.
61
- #
62
- # @return [Sketchup::ComponentDefinition] the ComponentDefinition object
63
- # that was added (if successful)
64
- #
65
- # @version SketchUp 6.0
66
- def add(def_name)
67
- end
68
-
69
- # The add_observer method is used to add an observer to the current object.
70
- #
71
- # @example
72
- # definitions = Sketchup.active_model.definitions
73
- # status = definitions.add_observer observer
74
- #
75
- # @param [Object] observer
76
- # An observer.
77
- #
78
- # @return [Boolean] true if successful, false if unsuccessful.
79
- #
80
- # @version SketchUp 6.0
81
- def add_observer(observer)
82
- end
83
-
84
- # The [] method is used to retrieve a component definition from the list. You
85
- # can give an integer index in the range 0 to length, a string which
86
- # represents the GUID (a unique internal identifier), or a string that is
87
- # the name of the definition.
88
- #
89
- # @example
90
- # path=Sketchup.find_support_file "Bed.skp",
91
- # "Components/Components Sampler/"
92
- # model = Sketchup.active_model
93
- # definitions = model.definitions
94
- # componentdefinition = definitions.load path
95
- # component = definitions[0]
96
- #
97
- # @overload [](index)
98
- #
99
- # @param [Integer] index The index for a specific component definition.
100
- # @return [Sketchup::ComponentDefinition, nil]
101
- #
102
- # @overload [](name)
103
- #
104
- # @param [String] name The unique GUID for the component definition.
105
- # @return [Sketchup::ComponentDefinition, nil]
106
- #
107
- # @overload [](guid)
108
- #
109
- # @param [String] guid The name of an existing component definition.
110
- # @return [Sketchup::ComponentDefinition, nil]
111
- #
112
- # @version SketchUp 6.0
113
- def at(arg)
114
- end
115
-
116
- #
117
- # @example
118
- # model = Sketchup.active_model
119
- # definitions = model.definitions
120
- # number = definitions.count
121
- #
122
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
123
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
124
- # for {#length}.
125
- #
126
- # @return [Integer]
127
- #
128
- # @see #length
129
- #
130
- # @version SketchUp 6.0
131
- def count
132
- end
133
-
134
- # The each method is used to iterate through all of the component definitions
135
- # in the definition list.
136
- #
137
- # Throws an exception if there are no component definitions.
138
- #
139
- # @example
140
- # model = Sketchup.active_model
141
- # definitions = model.definitions
142
- # definitions.add("BedTraditional")
143
- # number = definitions.each { |definition| puts definition.name }
144
- #
145
- # @return [nil]
146
- #
147
- # @version SketchUp 6.0
148
- #
149
- # @yield [Sketchup::ComponentDefinition] definition
150
- def each
151
- end
152
-
153
- # The {#length} method is used to retrieve number of component definitions in
154
- # the list.
155
- #
156
- # @example
157
- # model = Sketchup.active_model
158
- # definitions = model.definitions
159
- # number = definitions.length
160
- #
161
- # @return [Integer]
162
- #
163
- # @see #size
164
- #
165
- # @version SketchUp 6.0
166
- def length
167
- end
168
-
169
- # The load method is used to load a component from a file.
170
- #
171
- # @example
172
- # path=Sketchup.find_support_file "Bed.skp",
173
- # "Components/Components Sampler/"
174
- # model = Sketchup.active_model
175
- # definitions = model.definitions
176
- # componentdefinition = definitions.load path
177
- #
178
- # @param [String] path
179
- # The path where the component definition file is located.
180
- #
181
- # @raise RuntimeError If filename is an invalid SketchUp model. Added in
182
- # SketchUp 2019. Possible that prior versions of SketchUp will crash.
183
- #
184
- # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
185
- # object if successful
186
- #
187
- # @version SketchUp 6.0
188
- def load(path)
189
- end
190
-
191
- # The load_from_url method loads a component from a location specified by
192
- # string url. This method throws an exception if an url string is not
193
- # given, or an error occurs during retrieval from url and a
194
- # load_handler was not given. Optional second parameter load_handler can be
195
- # used to pass in a ruby object that responds to the following methods:
196
- #
197
- # - cancelled?(a_boolean)
198
- # - onPercentChange(a_float)
199
- # - onSuccess()
200
- # - onFailure(message_string)
201
- #
202
- # @example
203
- # class LoadHandler
204
- #
205
- # attr :error
206
- #
207
- # def onPercentChange(percent)
208
- # Sketchup::set_status_text("LOADING: #{percent}%")
209
- # end
210
- #
211
- # def cancelled?
212
- # # You could, for example, show a messagebox after X seconds asking if the
213
- # # user wants to cancel the download. If this method returns true, then
214
- # # the download cancels.
215
- # return false
216
- # end
217
- #
218
- # def onSuccess
219
- # Sketchup::set_status_text('')
220
- # end
221
- #
222
- # def onFailure(error_message)
223
- # self.error = error_message
224
- # Sketchup::set_status_text('')
225
- # end
226
- #
227
- # end
228
- #
229
- # # Replace this with a real URL...
230
- # url = 'http://www.sketchup.com/model.skp'
231
- # model = Sketchup.active_model
232
- # definition = model.definitions.load_from_url(url, load_handler)
233
- #
234
- # if definition.nil?
235
- # puts "Error: #{load_handler.error}"
236
- # end
237
- #
238
- # @param [String] url
239
- # URL to load a .skp file from.
240
- #
241
- # @param [Object] load_handler
242
- # Ruby object that has methods defined
243
- # as described in the load_from_url details.
244
- #
245
- # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
246
- # object if successful
247
- #
248
- # @version SketchUp 7.0
249
- def load_from_url(url, load_handler = nil)
250
- end
251
-
252
- # The purge_unused method is used to remove the unused component definitions.
253
- #
254
- # @example
255
- # definitions = Sketchup.active_model.definitions
256
- # definitions.purge_unused
257
- #
258
- # @return [Sketchup::DefinitionList]
259
- #
260
- # @version SketchUp 6.0
261
- def purge_unused
262
- end
263
-
264
- # The {#remove} method is used to remove a component definition from the
265
- # definition list with the given component definition. This will remove all
266
- # instances of the definition.
267
- #
268
- # @example
269
- # model = Sketchup.active_model
270
- # definitions = model.definitions
271
- # definition = definitions[0]
272
- # definitions.remove(definition)
273
- #
274
- # @param [Sketchup::ComponentDefinition] definition
275
- #
276
- # @return [Boolean]
277
- #
278
- # @version SketchUp 2018
279
- def remove(definition)
280
- end
281
-
282
- # The remove_observer method is used to remove an observer from the current
283
- # object.
284
- #
285
- # @example
286
- # definitions = Sketchup.active_model.definitions
287
- # status = definitions.remove_observer observer
288
- #
289
- # @param [Object] observer
290
- # An observer.
291
- #
292
- # @return [Boolean] true if successful, false if unsuccessful.
293
- #
294
- # @version SketchUp 6.0
295
- def remove_observer(observer)
296
- end
297
-
298
- # The {#size} method is an alias for {#length}.
299
- #
300
- # @example
301
- # model = Sketchup.active_model
302
- # definitions = model.definitions
303
- # number = definitions.size
304
- #
305
- # @return [Integer]
306
- #
307
- # @see #length
308
- #
309
- # @version SketchUp 2014
310
- def size
311
- end
312
-
313
- # The unique_name is used to generate a unique name for a definition based on
314
- # a base_name string. For example, a base_name of "Joe" might return "Joe #2"
315
- #
316
- # @example
317
- # model = Sketchup.active_model
318
- # definitions = model.definitions
319
- # new_name = definitions.unique_name "My Base Name"
320
- #
321
- # @param [String] base_name
322
- #
323
- # @return [String] the unique name.
324
- #
325
- # @version SketchUp 6.0
326
- def unique_name(base_name)
327
- end
328
-
329
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # A DefinitionList object holds a list of all of the ComponentDefinition
5
+ # objects in a model. This class contains methods for adding and retrieving
6
+ # definitions from the list.
7
+ #
8
+ # @version SketchUp 6.0
9
+ class Sketchup::DefinitionList < Sketchup::Entity
10
+
11
+ # Includes
12
+
13
+ include Enumerable
14
+
15
+ # Instance Methods
16
+
17
+ # The [] method is used to retrieve a component definition from the list. You
18
+ # can give an integer index in the range 0 to length, a string which
19
+ # represents the GUID (a unique internal identifier), or a string that is
20
+ # the name of the definition.
21
+ #
22
+ # @example
23
+ # path=Sketchup.find_support_file "Bed.skp",
24
+ # "Components/Components Sampler/"
25
+ # model = Sketchup.active_model
26
+ # definitions = model.definitions
27
+ # componentdefinition = definitions.load path
28
+ # component = definitions[0]
29
+ #
30
+ # @overload [](index)
31
+ #
32
+ # @param [Integer] index The index for a specific component definition.
33
+ # @return [Sketchup::ComponentDefinition, nil]
34
+ #
35
+ # @overload [](name)
36
+ #
37
+ # @param [String] name The unique GUID for the component definition.
38
+ # @return [Sketchup::ComponentDefinition, nil]
39
+ #
40
+ # @overload [](guid)
41
+ #
42
+ # @param [String] guid The name of an existing component definition.
43
+ # @return [Sketchup::ComponentDefinition, nil]
44
+ #
45
+ # @version SketchUp 6.0
46
+ def [](arg)
47
+ end
48
+
49
+ # The add method is used to add a new component definition to the definition
50
+ # list with the given name.
51
+ #
52
+ # @example
53
+ # model = Sketchup.active_model
54
+ # definitions = model.definitions
55
+ # componentdefinition = definitions.add "BedTraditional"
56
+ # component = definitions[0]
57
+ #
58
+ # @param [String] def_name
59
+ # The new component definition to add to the definition
60
+ # list.
61
+ #
62
+ # @return [Sketchup::ComponentDefinition] the ComponentDefinition object
63
+ # that was added (if successful)
64
+ #
65
+ # @version SketchUp 6.0
66
+ def add(def_name)
67
+ end
68
+
69
+ # The add_observer method is used to add an observer to the current object.
70
+ #
71
+ # @example
72
+ # definitions = Sketchup.active_model.definitions
73
+ # status = definitions.add_observer observer
74
+ #
75
+ # @param [Object] observer
76
+ # An observer.
77
+ #
78
+ # @return [Boolean] true if successful, false if unsuccessful.
79
+ #
80
+ # @version SketchUp 6.0
81
+ def add_observer(observer)
82
+ end
83
+
84
+ # The [] method is used to retrieve a component definition from the list. You
85
+ # can give an integer index in the range 0 to length, a string which
86
+ # represents the GUID (a unique internal identifier), or a string that is
87
+ # the name of the definition.
88
+ #
89
+ # @example
90
+ # path=Sketchup.find_support_file "Bed.skp",
91
+ # "Components/Components Sampler/"
92
+ # model = Sketchup.active_model
93
+ # definitions = model.definitions
94
+ # componentdefinition = definitions.load path
95
+ # component = definitions[0]
96
+ #
97
+ # @overload [](index)
98
+ #
99
+ # @param [Integer] index The index for a specific component definition.
100
+ # @return [Sketchup::ComponentDefinition, nil]
101
+ #
102
+ # @overload [](name)
103
+ #
104
+ # @param [String] name The unique GUID for the component definition.
105
+ # @return [Sketchup::ComponentDefinition, nil]
106
+ #
107
+ # @overload [](guid)
108
+ #
109
+ # @param [String] guid The name of an existing component definition.
110
+ # @return [Sketchup::ComponentDefinition, nil]
111
+ #
112
+ # @version SketchUp 6.0
113
+ def at(arg)
114
+ end
115
+
116
+ #
117
+ # @example
118
+ # model = Sketchup.active_model
119
+ # definitions = model.definitions
120
+ # number = definitions.count
121
+ #
122
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
123
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
124
+ # for {#length}.
125
+ #
126
+ # @return [Integer]
127
+ #
128
+ # @see #length
129
+ #
130
+ # @version SketchUp 6.0
131
+ def count
132
+ end
133
+
134
+ # The {#each} method is used to iterate through all of the component
135
+ # definitions in the definition list.
136
+ #
137
+ # @example
138
+ # model = Sketchup.active_model
139
+ # definitions = model.definitions
140
+ # definitions.add("BedTraditional")
141
+ # number = definitions.each { |definition| puts definition.name }
142
+ #
143
+ # @note Don't remove content from this collection while iterating over it with
144
+ # {#each}. This would change the size of the collection and cause elements to
145
+ # be skipped as the indices change. Instead copy the current collection to an
146
+ # array using +to_a+ and then use +each+ on the array, when removing content.
147
+ #
148
+ # @return [nil]
149
+ #
150
+ # @version SketchUp 6.0
151
+ #
152
+ # @yield [Sketchup::ComponentDefinition] definition
153
+ def each
154
+ end
155
+
156
+ # The {#import} method is used to import a (non-SketchUp) 3d model file as a definition.
157
+ #
158
+ # Importers using the C API +SketchUpModelImporterInterface+ interface are supported (those in the
159
+ # +Importers/+ directory).
160
+ #
161
+ # See the {file:pages/importer_options.md Importer Options} file for information
162
+ # on creating a valid hash for the various importers.
163
+ #
164
+ # For SketchUp models, instead use {#load}.
165
+ #
166
+ # @example
167
+ # path = "C:/circle.dwg"
168
+ # definition = Sketchup.active_model.definitions.import(path)
169
+ #
170
+ # @param [String] path
171
+ #
172
+ # @param [Hash] options
173
+ #
174
+ # @raise [IOError] if the file is missing.
175
+ #
176
+ # @raise [ArgumentError] if no suitable importer could be found.
177
+ #
178
+ # @return [Sketchup::ComponentDefinition]
179
+ #
180
+ # @version SketchUp 2021.1
181
+ def import(path, options = {})
182
+ end
183
+
184
+ # The {#length} method is used to retrieve number of component definitions in
185
+ # the list.
186
+ #
187
+ # @example
188
+ # model = Sketchup.active_model
189
+ # definitions = model.definitions
190
+ # number = definitions.length
191
+ #
192
+ # @return [Integer]
193
+ #
194
+ # @see #size
195
+ #
196
+ # @version SketchUp 6.0
197
+ def length
198
+ end
199
+
200
+ # The {#load} method is used to load a component from a file.
201
+ #
202
+ # @bug In SketchUp versions prior to SketchUp 2019 the application would crash
203
+ # if you tried to open a newer model instead of raising the expected
204
+ # +RuntimeError+.
205
+ #
206
+ # @example
207
+ # path = Sketchup.find_support_file("Bed.skp",
208
+ # "Components/Components Sampler/")
209
+ # model = Sketchup.active_model
210
+ # definitions = model.definitions
211
+ # definition = definitions.load(path)
212
+ #
213
+ # @overload load(path)
214
+ #
215
+ # @param [String] path
216
+ # The path where the component definition file is located.
217
+ #
218
+ # @overload load(path, allow_newer: true)
219
+ #
220
+ # Starting with SketchUp 2021.0 SketchUp attempts to load newer SketchUp
221
+ # models. If a newer model is loaded some information might have been skipped
222
+ # and extensions should be careful to not save over the file they loaded from
223
+ # as information might be lost.
224
+ #
225
+ # @version SketchUp 2021.0
226
+ # @param [String] path
227
+ # The path where the component definition file is located.
228
+ # @param [Boolean] allow_newer
229
+ # Indicate that it is ok to load a model with of a newer version.
230
+ #
231
+ # @raise IOError If the file is not a valid SketchUp model.
232
+ #
233
+ # @raise RuntimeError If the file is the same as the model being loaded into.
234
+ #
235
+ # @raise IOError If the file is an empty component.
236
+ #
237
+ # @raise RuntimeError If the file contains only screen text.
238
+ #
239
+ # @raise RuntimeError If the file is of a newer file version that the executing
240
+ # SketchUp version cannot open.
241
+ #
242
+ # @return [Sketchup::ComponentDefinition] the loaded ComponentDefinition
243
+ #
244
+ # @version SketchUp 6.0
245
+ def load(*args)
246
+ end
247
+
248
+ # The {#load_from_url} method loads a component from a location specified by
249
+ # string url.
250
+ #
251
+ # This method throws an exception if an url string is not
252
+ # given, or an error occurs during retrieval from URL and a
253
+ # +load_handler+ was not given. Optional second parameter +load_handler+ can be
254
+ # used to pass in a Ruby object that responds to the following methods:
255
+ #
256
+ # - +cancelled?+
257
+ # - +onPercentChange(percent)+
258
+ # - +onSuccess()+
259
+ # - +onFailure(message_string)+
260
+ #
261
+ # @bug Calling this method from an {UI::HtmlDialog}'s action callback on macOS will cause the
262
+ # SketchUp application to become unresponsive or crash. To work around this, defer the call
263
+ # from the action callback with a non-repeating zero-delay timer;
264
+ # +UI.start_timer(0, false) { method_calling_load_from_url }+
265
+ #
266
+ # @example Download a component using a LoadHandler
267
+ # class LoadHandler
268
+ # attr_accessor :error
269
+ #
270
+ # # @param [Float] percent
271
+ # def onPercentChange(percent)
272
+ # Sketchup::set_status_text("loading: #{percent.round}%")
273
+ # end
274
+ #
275
+ # def cancelled?
276
+ # # You could, for example, show a messagebox after X seconds asking if the
277
+ # # user wants to cancel the download. If this method returns true, then
278
+ # # the download cancels.
279
+ # return false
280
+ # end
281
+ #
282
+ # def onSuccess
283
+ # Sketchup::set_status_text('')
284
+ # end
285
+ #
286
+ # # @param [String] error_message
287
+ # def onFailure(error_message)
288
+ # self.error = error_message
289
+ # Sketchup::set_status_text('')
290
+ # end
291
+ # end
292
+ #
293
+ # # Replace this with a real URL...
294
+ # url = 'https://www.sketchup.com/model.skp'
295
+ # model = Sketchup.active_model
296
+ # load_handler = LoadHandler.new
297
+ # definition = model.definitions.load_from_url(url, load_handler)
298
+ #
299
+ # if definition.nil?
300
+ # puts "Error: #{load_handler.error}"
301
+ # end
302
+ #
303
+ # @example Workaround for macOS bug related to HtmlDialog action callbacks
304
+ # module Example
305
+ #
306
+ # def self.open_dialog
307
+ # @dialog = UI::HtmlDialog.new
308
+ # @dialog.add_action_callback("say") { |action_context, url|
309
+ # self.load_component_deferred(url)
310
+ # }
311
+ # @dialog.set_file("path/to/file.html")
312
+ # @dialog.show
313
+ # end
314
+ #
315
+ # def load_component_deferred
316
+ # # The timer delay is enough to avoid .load_from_url from deadlocking.
317
+ # UI.start_timer(0, false) do
318
+ # self.load_component(url)
319
+ # end
320
+ # end
321
+ #
322
+ # def self.load_component(url)
323
+ # model = Sketchup.active_model
324
+ # definition = model.definitions.load_from_url(url)
325
+ # # ...
326
+ # end
327
+ #
328
+ # end
329
+ #
330
+ # @overload load_from_url(url)
331
+ #
332
+ # @param [String] url
333
+ # URL to load a .skp file from.
334
+ #
335
+ # @overload load_from_url(url, load_handler)
336
+ #
337
+ # @param [String] url
338
+ # URL to load a .skp file from.
339
+ # @param [Object] load_handler
340
+ # Ruby object that has methods defined
341
+ # as described in the +load_from_url+ details above.
342
+ #
343
+ # @return [Sketchup::ComponentDefinition]
344
+ #
345
+ # @version SketchUp 7.0
346
+ def load_from_url(*args)
347
+ end
348
+
349
+ # The purge_unused method is used to remove the unused component definitions.
350
+ #
351
+ # @example
352
+ # definitions = Sketchup.active_model.definitions
353
+ # definitions.purge_unused
354
+ #
355
+ # @return [Sketchup::DefinitionList]
356
+ #
357
+ # @version SketchUp 6.0
358
+ def purge_unused
359
+ end
360
+
361
+ # The {#remove} method is used to remove a component definition from the
362
+ # definition list with the given component definition. This will remove all
363
+ # instances of the definition.
364
+ #
365
+ # @example
366
+ # model = Sketchup.active_model
367
+ # definitions = model.definitions
368
+ # definition = definitions[0]
369
+ # definitions.remove(definition)
370
+ #
371
+ # @param [Sketchup::ComponentDefinition] definition
372
+ #
373
+ # @return [Boolean]
374
+ #
375
+ # @version SketchUp 2018
376
+ def remove(definition)
377
+ end
378
+
379
+ # The remove_observer method is used to remove an observer from the current
380
+ # object.
381
+ #
382
+ # @example
383
+ # definitions = Sketchup.active_model.definitions
384
+ # status = definitions.remove_observer observer
385
+ #
386
+ # @param [Object] observer
387
+ # An observer.
388
+ #
389
+ # @return [Boolean] true if successful, false if unsuccessful.
390
+ #
391
+ # @version SketchUp 6.0
392
+ def remove_observer(observer)
393
+ end
394
+
395
+ # The {#size} method is an alias for {#length}.
396
+ #
397
+ # @example
398
+ # model = Sketchup.active_model
399
+ # definitions = model.definitions
400
+ # number = definitions.size
401
+ #
402
+ # @return [Integer]
403
+ #
404
+ # @see #length
405
+ #
406
+ # @version SketchUp 2014
407
+ def size
408
+ end
409
+
410
+ # The unique_name is used to generate a unique name for a definition based on
411
+ # a base_name string. For example, a base_name of "Joe" might return "Joe #2"
412
+ #
413
+ # @example
414
+ # model = Sketchup.active_model
415
+ # definitions = model.definitions
416
+ # new_name = definitions.unique_name "My Base Name"
417
+ #
418
+ # @param [String] base_name
419
+ #
420
+ # @return [String] the unique name.
421
+ #
422
+ # @version SketchUp 6.0
423
+ def unique_name(base_name)
424
+ end
425
+
426
+ end