sketchup-api-stubs 0.7.9 → 0.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -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 +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 -476
  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 -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 +747 -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/Document.rb +569 -517
  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 +356 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  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 +459 -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 -82
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  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 +278 -278
  51. data/lib/sketchup-api-stubs/stubs/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 -169
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -150
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -281
  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 -121
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -659
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  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 -449
  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 -406
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1242 -1239
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -937
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -282
  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 -406
  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 -326
  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 -114
  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 -317
  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 +1656 -1652
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -130
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -490
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -116
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -361
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +480 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +373 -361
  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 -458
  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 -255
  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 -834
  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 -75
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1329 -1311
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1394 -1377
  144. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  145. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +387 -389
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +505 -494
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -241
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -635
  151. data/lib/sketchup-api-stubs/stubs/UI.rb +728 -683
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +3 -3
@@ -1,281 +1,281 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The AttributeDictionary class allows you to attach arbitrary collections of
5
- # attributes to a SketchUp entity. The attributes are defined by key/value
6
- # pairs where the keys are strings. An Entity or Model object can have any
7
- # number of AttributeDictionary objects (see the AttributeDictionaries class).
8
- #
9
- # The Entity class is a popular parent class in SketchUp, meaning you can
10
- # attach attribute dictionaries to almost anything, from geometric items
11
- # like edges and faces and components to more conceptual things like pages
12
- # or materials.
13
- #
14
- # @version SketchUp 6.0
15
- class Sketchup::AttributeDictionary < Sketchup::Entity
16
-
17
- # Includes
18
-
19
- include Enumerable
20
-
21
- # Instance Methods
22
-
23
- # The [] method is used to retrieve the attribute with a given key.
24
- #
25
- # @example
26
- # model = Sketchup.active_model
27
- # value = model.set_attribute "testdictionary", "test", 115
28
- # attrdicts = model.attribute_dictionaries
29
- # attrdict = attrdicts["testdictionary"]
30
- #
31
- # # value will contain 115
32
- # value = attrdict["test"]
33
- #
34
- # @param [String] key
35
- # The name of the attribute.
36
- #
37
- # @return [Object, nil] the attribute stored under your key, or
38
- # nil if not found
39
- #
40
- # @version SketchUp 6.0
41
- def [](key)
42
- end
43
-
44
- # The set value ([]=) method is used to set the value of an attribute with a
45
- # given key.
46
- #
47
- # Creates a new attribute for the given key if needed.
48
- #
49
- # @example
50
- # model = Sketchup.active_model
51
- # value = model.set_attribute("testdictionary", "test", 110)
52
- # attrdicts = model.attribute_dictionaries
53
- # attrdict = attrdicts["testdictionary"]
54
- # value = attrdict["test2"] = 120
55
- # p value
56
- #
57
- # @param [String] key
58
- # The valid key.
59
- #
60
- # @param [Boolean, Integer, Float, Length, nil, String, Time, Array, Geom::Point3d, Geom::Vector3d] value
61
- # The value to be set.
62
- #
63
- # @version SketchUp 6.0
64
- def []=(key, value)
65
- end
66
-
67
- # The count method is inherited from the Enumerable mix-in module.
68
- #
69
- # @example
70
- # model = Sketchup.active_model
71
- # model.set_attribute('Example', 'Hello', 'World')
72
- # dictionary = model.attribute_dictionary('Example')
73
- # number = dictionary.count
74
- #
75
- # @return [Integer]
76
- #
77
- # @version SketchUp 2014
78
- def count
79
- end
80
-
81
- # The delete_key method is used to delete an attribute with a given key.
82
- #
83
- # @example
84
- # create_if_nil = true
85
- # model = Sketchup.active_model
86
- # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
87
- # attrdict["attr_one"] = "one"
88
- # attrdict["attr_two"] = "two"
89
- #
90
- # # Delete a key/value pair and get the deleted value.
91
- # attrdict = model.attribute_dictionaries['test_dict']
92
- # value = attrdict.delete_key("attr_one")
93
- #
94
- # @param [String] key
95
- # The key to be deleted.
96
- #
97
- # @return [Object, nil] the value of the key
98
- #
99
- # @version SketchUp 6.0
100
- def delete_key(key)
101
- end
102
-
103
- # The {#each} method iterate through all of the attributes.
104
- #
105
- # @example
106
- # create_if_nil = true
107
- # model = Sketchup.active_model
108
- # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
109
- # attrdict["attr_one"] = "one"
110
- # attrdict["attr_two"] = "two"
111
- #
112
- # # Iterates through all attributes and prints the key to the screen.
113
- # attrdict = model.attribute_dictionaries['test_dict']
114
- # attrdict.each { | key, value |
115
- # puts "#{key} = #{value}"
116
- # }
117
- #
118
- # @note Don't remove content from this collection while iterating over it with
119
- # {#each}. This would change the size of the collection and cause elements to
120
- # be skipped as the indices change. Instead copy the current collection to an
121
- # array using +to_a+ and then use +each+ on the array, when removing content.
122
- #
123
- # @see #each_pair
124
- #
125
- # @version SketchUp 6.0
126
- #
127
- # @yield [key, value]
128
- #
129
- # @yieldparam [String] key
130
- # The key of each attribute as it is found.
131
- #
132
- # @yieldparam [Object] value
133
- # The value of each attribute as it is found.
134
- def each
135
- end
136
-
137
- # The {#each_key} method is used to iterate through all of the attribute keys.
138
- #
139
- # @example
140
- # create_if_nil = true
141
- # model = Sketchup.active_model
142
- # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
143
- # attrdict["attr_one"] = "one"
144
- # attrdict["attr_two"] = "two"
145
- #
146
- # # iterates through all attributes and prints the key to the screen
147
- # attrdict = model.attribute_dictionaries['test_dict']
148
- # attrdict.each_key { |key| puts key }
149
- #
150
- # @return [nil]
151
- #
152
- # @version SketchUp 6.0
153
- #
154
- # @yieldparam [String] key
155
- # The key of each attribute as it is found.
156
- def each_key
157
- end
158
-
159
- # The {#each_pair} method is an alias for {#each}.
160
- #
161
- # @example
162
- # create_if_nil = true
163
- # model = Sketchup.active_model
164
- # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
165
- # attrdict["attr_one"] = "one"
166
- # attrdict["attr_two"] = "two"
167
- #
168
- # # iterates through all attributes and prints the key to the screen
169
- # attrdict = model.attribute_dictionaries['test_dict']
170
- # attrdict.each_pair { | key, value |
171
- # puts "#{key} = #{value}"
172
- # }
173
- #
174
- # @see #each
175
- #
176
- # @version SketchUp 6.0
177
- #
178
- # @yield [key, value]
179
- #
180
- # @yieldparam [String] key
181
- # The key of each attribute as it is found.
182
- #
183
- # @yieldparam [Object] value
184
- # The value of each attribute as it is found.
185
- def each_pair
186
- end
187
-
188
- # The keys method is used to retrieve an array with all of the attribute keys.
189
- #
190
- # @example
191
- # create_if_nil = true
192
- # model = Sketchup.active_model
193
- # attrdict = model.attribute_dictionary "test_dict", create_if_nil
194
- # attrdict["attr_one"] = "one"
195
- # attrdict["attr_two"] = "two"
196
- #
197
- # # Gets an array of keys
198
- # attrdict = model.attribute_dictionaries['test_dict']
199
- # keys = attrdict.keys
200
- #
201
- # @return [Array<String>] an array of keys within the attribute dictionary
202
- # if successful
203
- #
204
- # @version SketchUp 6.0
205
- def keys
206
- end
207
-
208
- # The {#length} method is used to retrieve the size (number of elements) of an
209
- # attribute dictionary.
210
- #
211
- # @example
212
- # model = Sketchup.active_model
213
- # model.set_attribute('Example', 'Hello', 'World')
214
- # dictionary = model.attribute_dictionary('Example')
215
- # number = dictionary.length
216
- #
217
- # @return [Integer]
218
- #
219
- # @see #size
220
- #
221
- # @version SketchUp 6.0
222
- def length
223
- end
224
-
225
- # The name method is used to retrieve the name of an attribute dictionary.
226
- #
227
- # @example
228
- # create_if_nil = true
229
- # model = Sketchup.active_model
230
- # attrdict = model.attribute_dictionary "test_dict", create_if_nil
231
- # attrdict["attr_one"] = "one"
232
- # attrdict["attr_two"] = "two"
233
- #
234
- # # Show the name.
235
- # UI.messagebox attrdict.name
236
- #
237
- # @return [String] the name of the attribute dictionary if
238
- # successful
239
- #
240
- # @version SketchUp 6.0
241
- def name
242
- end
243
-
244
- # The {#size} method is an alias of {#length}.
245
- #
246
- # @example
247
- # model = Sketchup.active_model
248
- # model.set_attribute('Example', 'Hello', 'World')
249
- # dictionary = model.attribute_dictionary('Example')
250
- # number = dictionary.size
251
- #
252
- # @return [Integer]
253
- #
254
- # @see #length
255
- #
256
- # @version SketchUp 6.0
257
- def size
258
- end
259
-
260
- # The values method is used to retrieve an array with all of the attribute
261
- # values.
262
- #
263
- # @example
264
- # create_if_nil = true
265
- # model = Sketchup.active_model
266
- # attrdict = model.attribute_dictionary "test_dict", create_if_nil
267
- # attrdict["attr_one"] = "one"
268
- # attrdict["attr_two"] = "two"
269
- #
270
- # # Gets an array of values
271
- # attrdict = model.attribute_dictionaries['test_dict']
272
- # values = attrdict.values
273
- #
274
- # @return [Array<Object>] an array of values within the attribute dictionary
275
- # if successful
276
- #
277
- # @version SketchUp 6.0
278
- def values
279
- end
280
-
281
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The AttributeDictionary class allows you to attach arbitrary collections of
5
+ # attributes to a SketchUp entity. The attributes are defined by key/value
6
+ # pairs where the keys are strings. An Entity or Model object can have any
7
+ # number of AttributeDictionary objects (see the AttributeDictionaries class).
8
+ #
9
+ # The Entity class is a popular parent class in SketchUp, meaning you can
10
+ # attach attribute dictionaries to almost anything, from geometric items
11
+ # like edges and faces and components to more conceptual things like pages
12
+ # or materials.
13
+ #
14
+ # @version SketchUp 6.0
15
+ class Sketchup::AttributeDictionary < Sketchup::Entity
16
+
17
+ # Includes
18
+
19
+ include Enumerable
20
+
21
+ # Instance Methods
22
+
23
+ # The [] method is used to retrieve the attribute with a given key.
24
+ #
25
+ # @example
26
+ # model = Sketchup.active_model
27
+ # value = model.set_attribute "testdictionary", "test", 115
28
+ # attrdicts = model.attribute_dictionaries
29
+ # attrdict = attrdicts["testdictionary"]
30
+ #
31
+ # # value will contain 115
32
+ # value = attrdict["test"]
33
+ #
34
+ # @param [String] key
35
+ # The name of the attribute.
36
+ #
37
+ # @return [Object, nil] the attribute stored under your key, or
38
+ # nil if not found
39
+ #
40
+ # @version SketchUp 6.0
41
+ def [](key)
42
+ end
43
+
44
+ # The set value ([]=) method is used to set the value of an attribute with a
45
+ # given key.
46
+ #
47
+ # Creates a new attribute for the given key if needed.
48
+ #
49
+ # @example
50
+ # model = Sketchup.active_model
51
+ # value = model.set_attribute("testdictionary", "test", 110)
52
+ # attrdicts = model.attribute_dictionaries
53
+ # attrdict = attrdicts["testdictionary"]
54
+ # value = attrdict["test2"] = 120
55
+ # p value
56
+ #
57
+ # @param [String] key
58
+ # The valid key.
59
+ #
60
+ # @param [Boolean, Integer, Float, Length, nil, String, Time, Array, Geom::Point3d, Geom::Vector3d] value
61
+ # The value to be set.
62
+ #
63
+ # @version SketchUp 6.0
64
+ def []=(key, value)
65
+ end
66
+
67
+ # The count method is inherited from the Enumerable mix-in module.
68
+ #
69
+ # @example
70
+ # model = Sketchup.active_model
71
+ # model.set_attribute('Example', 'Hello', 'World')
72
+ # dictionary = model.attribute_dictionary('Example')
73
+ # number = dictionary.count
74
+ #
75
+ # @return [Integer]
76
+ #
77
+ # @version SketchUp 2014
78
+ def count
79
+ end
80
+
81
+ # The delete_key method is used to delete an attribute with a given key.
82
+ #
83
+ # @example
84
+ # create_if_nil = true
85
+ # model = Sketchup.active_model
86
+ # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
87
+ # attrdict["attr_one"] = "one"
88
+ # attrdict["attr_two"] = "two"
89
+ #
90
+ # # Delete a key/value pair and get the deleted value.
91
+ # attrdict = model.attribute_dictionaries['test_dict']
92
+ # value = attrdict.delete_key("attr_one")
93
+ #
94
+ # @param [String] key
95
+ # The key to be deleted.
96
+ #
97
+ # @return [Object, nil] the value of the key
98
+ #
99
+ # @version SketchUp 6.0
100
+ def delete_key(key)
101
+ end
102
+
103
+ # The {#each} method iterate through all of the attributes.
104
+ #
105
+ # @example
106
+ # create_if_nil = true
107
+ # model = Sketchup.active_model
108
+ # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
109
+ # attrdict["attr_one"] = "one"
110
+ # attrdict["attr_two"] = "two"
111
+ #
112
+ # # Iterates through all attributes and prints the key to the screen.
113
+ # attrdict = model.attribute_dictionaries['test_dict']
114
+ # attrdict.each { | key, value |
115
+ # puts "#{key} = #{value}"
116
+ # }
117
+ #
118
+ # @note Don't remove content from this collection while iterating over it with
119
+ # {#each}. This would change the size of the collection and cause elements to
120
+ # be skipped as the indices change. Instead copy the current collection to an
121
+ # array using +to_a+ and then use +each+ on the array, when removing content.
122
+ #
123
+ # @see #each_pair
124
+ #
125
+ # @version SketchUp 6.0
126
+ #
127
+ # @yield [key, value]
128
+ #
129
+ # @yieldparam [String] key
130
+ # The key of each attribute as it is found.
131
+ #
132
+ # @yieldparam [Object] value
133
+ # The value of each attribute as it is found.
134
+ def each
135
+ end
136
+
137
+ # The {#each_key} method is used to iterate through all of the attribute keys.
138
+ #
139
+ # @example
140
+ # create_if_nil = true
141
+ # model = Sketchup.active_model
142
+ # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
143
+ # attrdict["attr_one"] = "one"
144
+ # attrdict["attr_two"] = "two"
145
+ #
146
+ # # iterates through all attributes and prints the key to the screen
147
+ # attrdict = model.attribute_dictionaries['test_dict']
148
+ # attrdict.each_key { |key| puts key }
149
+ #
150
+ # @return [nil]
151
+ #
152
+ # @version SketchUp 6.0
153
+ #
154
+ # @yieldparam [String] key
155
+ # The key of each attribute as it is found.
156
+ def each_key
157
+ end
158
+
159
+ # The {#each_pair} method is an alias for {#each}.
160
+ #
161
+ # @example
162
+ # create_if_nil = true
163
+ # model = Sketchup.active_model
164
+ # attrdict = model.attribute_dictionary("test_dict", create_if_nil)
165
+ # attrdict["attr_one"] = "one"
166
+ # attrdict["attr_two"] = "two"
167
+ #
168
+ # # iterates through all attributes and prints the key to the screen
169
+ # attrdict = model.attribute_dictionaries['test_dict']
170
+ # attrdict.each_pair { | key, value |
171
+ # puts "#{key} = #{value}"
172
+ # }
173
+ #
174
+ # @see #each
175
+ #
176
+ # @version SketchUp 6.0
177
+ #
178
+ # @yield [key, value]
179
+ #
180
+ # @yieldparam [String] key
181
+ # The key of each attribute as it is found.
182
+ #
183
+ # @yieldparam [Object] value
184
+ # The value of each attribute as it is found.
185
+ def each_pair
186
+ end
187
+
188
+ # The keys method is used to retrieve an array with all of the attribute keys.
189
+ #
190
+ # @example
191
+ # create_if_nil = true
192
+ # model = Sketchup.active_model
193
+ # attrdict = model.attribute_dictionary "test_dict", create_if_nil
194
+ # attrdict["attr_one"] = "one"
195
+ # attrdict["attr_two"] = "two"
196
+ #
197
+ # # Gets an array of keys
198
+ # attrdict = model.attribute_dictionaries['test_dict']
199
+ # keys = attrdict.keys
200
+ #
201
+ # @return [Array<String>] an array of keys within the attribute dictionary
202
+ # if successful
203
+ #
204
+ # @version SketchUp 6.0
205
+ def keys
206
+ end
207
+
208
+ # The {#length} method is used to retrieve the size (number of elements) of an
209
+ # attribute dictionary.
210
+ #
211
+ # @example
212
+ # model = Sketchup.active_model
213
+ # model.set_attribute('Example', 'Hello', 'World')
214
+ # dictionary = model.attribute_dictionary('Example')
215
+ # number = dictionary.length
216
+ #
217
+ # @return [Integer]
218
+ #
219
+ # @see #size
220
+ #
221
+ # @version SketchUp 6.0
222
+ def length
223
+ end
224
+
225
+ # The name method is used to retrieve the name of an attribute dictionary.
226
+ #
227
+ # @example
228
+ # create_if_nil = true
229
+ # model = Sketchup.active_model
230
+ # attrdict = model.attribute_dictionary "test_dict", create_if_nil
231
+ # attrdict["attr_one"] = "one"
232
+ # attrdict["attr_two"] = "two"
233
+ #
234
+ # # Show the name.
235
+ # UI.messagebox attrdict.name
236
+ #
237
+ # @return [String] the name of the attribute dictionary if
238
+ # successful
239
+ #
240
+ # @version SketchUp 6.0
241
+ def name
242
+ end
243
+
244
+ # The {#size} method is an alias of {#length}.
245
+ #
246
+ # @example
247
+ # model = Sketchup.active_model
248
+ # model.set_attribute('Example', 'Hello', 'World')
249
+ # dictionary = model.attribute_dictionary('Example')
250
+ # number = dictionary.size
251
+ #
252
+ # @return [Integer]
253
+ #
254
+ # @see #length
255
+ #
256
+ # @version SketchUp 6.0
257
+ def size
258
+ end
259
+
260
+ # The values method is used to retrieve an array with all of the attribute
261
+ # values.
262
+ #
263
+ # @example
264
+ # create_if_nil = true
265
+ # model = Sketchup.active_model
266
+ # attrdict = model.attribute_dictionary "test_dict", create_if_nil
267
+ # attrdict["attr_one"] = "one"
268
+ # attrdict["attr_two"] = "two"
269
+ #
270
+ # # Gets an array of values
271
+ # attrdict = model.attribute_dictionaries['test_dict']
272
+ # values = attrdict.values
273
+ #
274
+ # @return [Array<Object>] an array of values within the attribute dictionary
275
+ # if successful
276
+ #
277
+ # @version SketchUp 6.0
278
+ def values
279
+ end
280
+
281
+ end