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.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs/sketchup.rb +148 -145
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
- data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
- data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
- data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
- data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
- data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +15 -12
@@ -1,284 +1,284 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# An +OptionsProvider+ class provides various kinds of options on a
|
5
|
-
# {Sketchup::Model}. You get an +OptionsProvider+ from the
|
6
|
-
# {Sketchup::OptionsManager}. The options are given as name/value pairs.
|
7
|
-
#
|
8
|
-
# List of keys added in different SketchUp versions:
|
9
|
-
#
|
10
|
-
# [+UnitsOptions+] * +AreaUnit+ (SketchUp 2019.2)
|
11
|
-
# * +VolumeUnit+ (SketchUp 2019.2)
|
12
|
-
# * +AreaPrecision+ (SketchUp 2020.0)
|
13
|
-
# * +VolumePrecision+ (SketchUp 2020.0)
|
14
|
-
#
|
15
|
-
# The +AreaUnit+ and +VolumeUnit+ options in +UnitsOptions+ only applies if
|
16
|
-
# the +UnitFormat+ is +Length::Decimal+.
|
17
|
-
#
|
18
|
-
# @version SketchUp 6.0
|
19
|
-
class Sketchup::OptionsProvider
|
20
|
-
|
21
|
-
# Includes
|
22
|
-
|
23
|
-
include Enumerable
|
24
|
-
|
25
|
-
# Instance Methods
|
26
|
-
|
27
|
-
# The [] method is used to get a value by name or index of the key.
|
28
|
-
#
|
29
|
-
# @example
|
30
|
-
# model = Sketchup.active_model
|
31
|
-
# manager = model.options
|
32
|
-
# provider = manager[0]
|
33
|
-
# # Retrieves the provider at index 1
|
34
|
-
# option = provider[1]
|
35
|
-
#
|
36
|
-
# @overload [](index)
|
37
|
-
#
|
38
|
-
# @param index The index for a specific key.
|
39
|
-
# @return value - the value if successful
|
40
|
-
#
|
41
|
-
# @overload [](name)
|
42
|
-
#
|
43
|
-
# @param name The name of the specific key.
|
44
|
-
# @return value - the value if successful
|
45
|
-
#
|
46
|
-
# @version SketchUp 6.0
|
47
|
-
def [](arg)
|
48
|
-
end
|
49
|
-
|
50
|
-
# The []= method is used to set the value of a specific key.
|
51
|
-
#
|
52
|
-
# Creates a new attribute for the given key if needed.
|
53
|
-
#
|
54
|
-
# @example
|
55
|
-
# option = provider[1]=10
|
56
|
-
#
|
57
|
-
# @param key
|
58
|
-
# The valid key.
|
59
|
-
#
|
60
|
-
# @param value
|
61
|
-
# The value to be set.
|
62
|
-
#
|
63
|
-
# @return value - the value that was set if successful, or false
|
64
|
-
# if unsuccessful.
|
65
|
-
#
|
66
|
-
# @version SketchUp 6.0
|
67
|
-
def []=(key, value)
|
68
|
-
end
|
69
|
-
|
70
|
-
# The add_observer method is used to add an observer to the current object.
|
71
|
-
#
|
72
|
-
# @example
|
73
|
-
# status = object.add_observer observer
|
74
|
-
#
|
75
|
-
# @param observer
|
76
|
-
# An observer.
|
77
|
-
#
|
78
|
-
# @return true if successful, false if unsuccessful.
|
79
|
-
#
|
80
|
-
# @version SketchUp 6.0
|
81
|
-
def add_observer(observer)
|
82
|
-
end
|
83
|
-
|
84
|
-
#
|
85
|
-
# @example
|
86
|
-
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
87
|
-
# number = optionsprovider.count
|
88
|
-
#
|
89
|
-
# @note Since SketchUp 2014 the count method is inherited from Ruby's
|
90
|
-
# +
|
91
|
-
# for {#length}.
|
92
|
-
#
|
93
|
-
# @return [Integer]
|
94
|
-
#
|
95
|
-
# @see #length
|
96
|
-
#
|
97
|
-
# @version SketchUp 6.0
|
98
|
-
def count
|
99
|
-
end
|
100
|
-
|
101
|
-
# The {#each} method is used to iterate through all of the options.
|
102
|
-
#
|
103
|
-
# @example
|
104
|
-
# model = Sketchup.active_model
|
105
|
-
# provider = model.options['UnitsOptions']
|
106
|
-
# provider.each { |key, value| puts "#{key} = #{value}" }
|
107
|
-
#
|
108
|
-
# @return [nil]
|
109
|
-
#
|
110
|
-
# @see #each_key
|
111
|
-
#
|
112
|
-
# @version SketchUp 6.0
|
113
|
-
#
|
114
|
-
# @yield [key, value]
|
115
|
-
#
|
116
|
-
# @yieldparam [String] key
|
117
|
-
#
|
118
|
-
# @yieldparam [Object] value
|
119
|
-
def each
|
120
|
-
end
|
121
|
-
|
122
|
-
# The {#each_key} method is used to iterate through all of the attribute keys.
|
123
|
-
#
|
124
|
-
# @example
|
125
|
-
# provider.each_key { |key|
|
126
|
-
#
|
127
|
-
# @return [nil]
|
128
|
-
#
|
129
|
-
# @version SketchUp 6.0
|
130
|
-
#
|
131
|
-
# @yield [key]
|
132
|
-
#
|
133
|
-
# @yieldparam [String] key
|
134
|
-
def each_key
|
135
|
-
end
|
136
|
-
|
137
|
-
# The {#each} method is used to iterate through all of the options.
|
138
|
-
#
|
139
|
-
# @example
|
140
|
-
# model = Sketchup.active_model
|
141
|
-
# provider = model.options['UnitsOptions']
|
142
|
-
# provider.each { |key, value| puts "#{key} = #{value}" }
|
143
|
-
#
|
144
|
-
# @return [nil]
|
145
|
-
#
|
146
|
-
# @see #each_key
|
147
|
-
#
|
148
|
-
# @version SketchUp 6.0
|
149
|
-
#
|
150
|
-
# @yield [key, value]
|
151
|
-
#
|
152
|
-
# @yieldparam [String] key
|
153
|
-
#
|
154
|
-
# @yieldparam [Object] value
|
155
|
-
def each_pair
|
156
|
-
end
|
157
|
-
|
158
|
-
# The each_value method is used to iterate through all of the attribute
|
159
|
-
# values.
|
160
|
-
#
|
161
|
-
# Throws an exception if there are no keys.
|
162
|
-
#
|
163
|
-
# @example
|
164
|
-
# provider.each_value { |value|
|
165
|
-
#
|
166
|
-
# @return nil
|
167
|
-
#
|
168
|
-
# @version SketchUp 6.0
|
169
|
-
#
|
170
|
-
# @yield [value] A variable that will hold each value as they are found.
|
171
|
-
def each_value
|
172
|
-
end
|
173
|
-
|
174
|
-
# The {#has_key?} method is an alias for {#key?}.
|
175
|
-
#
|
176
|
-
# @example
|
177
|
-
# model = Sketchup.active_model
|
178
|
-
# provider = model.options['UnitsOptions']
|
179
|
-
# p provider.has_key?("LengthFormat")
|
180
|
-
#
|
181
|
-
# @param [String] name
|
182
|
-
# The name of the key you are looking for.
|
183
|
-
#
|
184
|
-
# @return [Boolean]
|
185
|
-
#
|
186
|
-
# @see #key?
|
187
|
-
#
|
188
|
-
# @version SketchUp 6.0
|
189
|
-
def has_key?(name)
|
190
|
-
end
|
191
|
-
|
192
|
-
# The {#key?} method is used to determine if the options provider has a
|
193
|
-
# specific key.
|
194
|
-
#
|
195
|
-
# @example
|
196
|
-
# model = Sketchup.active_model
|
197
|
-
# provider = model.options['UnitsOptions']
|
198
|
-
# p provider.key?("LengthFormat")
|
199
|
-
#
|
200
|
-
# @param [String] name
|
201
|
-
# The name of the key you are looking for.
|
202
|
-
#
|
203
|
-
# @return [Boolean]
|
204
|
-
#
|
205
|
-
# @see #has_key?
|
206
|
-
#
|
207
|
-
# @version SketchUp 6.0
|
208
|
-
def key?(name)
|
209
|
-
end
|
210
|
-
|
211
|
-
# The keys method is used to retrieve an array with all of the attribute keys.
|
212
|
-
#
|
213
|
-
# @example
|
214
|
-
# keys = provider.keys
|
215
|
-
# key = keys[0]
|
216
|
-
# if (key)
|
217
|
-
# UI.messagebox key
|
218
|
-
# else
|
219
|
-
# UI.messagebox "Failure"
|
220
|
-
# end
|
221
|
-
#
|
222
|
-
# @return keys - an array of keys within the options provider if
|
223
|
-
# successful
|
224
|
-
#
|
225
|
-
# @version SketchUp 6.0
|
226
|
-
def keys
|
227
|
-
end
|
228
|
-
|
229
|
-
# The {#length} method is an alias of {#size}.
|
230
|
-
#
|
231
|
-
# @example
|
232
|
-
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
233
|
-
# number = optionsprovider.length
|
234
|
-
#
|
235
|
-
# @return [Integer]
|
236
|
-
#
|
237
|
-
# @see #size
|
238
|
-
#
|
239
|
-
# @version SketchUp 2014
|
240
|
-
def length
|
241
|
-
end
|
242
|
-
|
243
|
-
# The name method is used to retrieve the name of an options provider.
|
244
|
-
#
|
245
|
-
# @example
|
246
|
-
# name = provider.name
|
247
|
-
#
|
248
|
-
# @return name - the name of the options provider if successful
|
249
|
-
#
|
250
|
-
# @version SketchUp 6.0
|
251
|
-
def name
|
252
|
-
end
|
253
|
-
|
254
|
-
# The remove_observer method is used to remove an observer from the current
|
255
|
-
# object.
|
256
|
-
#
|
257
|
-
# @example
|
258
|
-
# status = object.remove_observer observer
|
259
|
-
#
|
260
|
-
# @param observer
|
261
|
-
# An observer.
|
262
|
-
#
|
263
|
-
# @return true if successful, false if unsuccessful.
|
264
|
-
#
|
265
|
-
# @version SketchUp 6.0
|
266
|
-
def remove_observer(observer)
|
267
|
-
end
|
268
|
-
|
269
|
-
# The {#size} method is used to retrieve the size (number of elements) of an
|
270
|
-
# options provider.
|
271
|
-
#
|
272
|
-
# @example
|
273
|
-
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
274
|
-
# number = optionsprovider.size
|
275
|
-
#
|
276
|
-
# @return [Integer]
|
277
|
-
#
|
278
|
-
# @see #length
|
279
|
-
#
|
280
|
-
# @version SketchUp 6.0
|
281
|
-
def size
|
282
|
-
end
|
283
|
-
|
284
|
-
end
|
1
|
+
# Copyright:: Copyright 2022 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# An +OptionsProvider+ class provides various kinds of options on a
|
5
|
+
# {Sketchup::Model}. You get an +OptionsProvider+ from the
|
6
|
+
# {Sketchup::OptionsManager}. The options are given as name/value pairs.
|
7
|
+
#
|
8
|
+
# List of keys added in different SketchUp versions:
|
9
|
+
#
|
10
|
+
# [+UnitsOptions+] * +AreaUnit+ (SketchUp 2019.2)
|
11
|
+
# * +VolumeUnit+ (SketchUp 2019.2)
|
12
|
+
# * +AreaPrecision+ (SketchUp 2020.0)
|
13
|
+
# * +VolumePrecision+ (SketchUp 2020.0)
|
14
|
+
#
|
15
|
+
# The +AreaUnit+ and +VolumeUnit+ options in +UnitsOptions+ only applies if
|
16
|
+
# the +UnitFormat+ is +Length::Decimal+.
|
17
|
+
#
|
18
|
+
# @version SketchUp 6.0
|
19
|
+
class Sketchup::OptionsProvider
|
20
|
+
|
21
|
+
# Includes
|
22
|
+
|
23
|
+
include Enumerable
|
24
|
+
|
25
|
+
# Instance Methods
|
26
|
+
|
27
|
+
# The [] method is used to get a value by name or index of the key.
|
28
|
+
#
|
29
|
+
# @example
|
30
|
+
# model = Sketchup.active_model
|
31
|
+
# manager = model.options
|
32
|
+
# provider = manager[0]
|
33
|
+
# # Retrieves the provider at index 1
|
34
|
+
# option = provider[1]
|
35
|
+
#
|
36
|
+
# @overload [](index)
|
37
|
+
#
|
38
|
+
# @param index The index for a specific key.
|
39
|
+
# @return value - the value if successful
|
40
|
+
#
|
41
|
+
# @overload [](name)
|
42
|
+
#
|
43
|
+
# @param name The name of the specific key.
|
44
|
+
# @return value - the value if successful
|
45
|
+
#
|
46
|
+
# @version SketchUp 6.0
|
47
|
+
def [](arg)
|
48
|
+
end
|
49
|
+
|
50
|
+
# The []= method is used to set the value of a specific key.
|
51
|
+
#
|
52
|
+
# Creates a new attribute for the given key if needed.
|
53
|
+
#
|
54
|
+
# @example
|
55
|
+
# option = provider[1]=10
|
56
|
+
#
|
57
|
+
# @param key
|
58
|
+
# The valid key.
|
59
|
+
#
|
60
|
+
# @param value
|
61
|
+
# The value to be set.
|
62
|
+
#
|
63
|
+
# @return value - the value that was set if successful, or false
|
64
|
+
# if unsuccessful.
|
65
|
+
#
|
66
|
+
# @version SketchUp 6.0
|
67
|
+
def []=(key, value)
|
68
|
+
end
|
69
|
+
|
70
|
+
# The add_observer method is used to add an observer to the current object.
|
71
|
+
#
|
72
|
+
# @example
|
73
|
+
# status = object.add_observer observer
|
74
|
+
#
|
75
|
+
# @param observer
|
76
|
+
# An observer.
|
77
|
+
#
|
78
|
+
# @return true if successful, false if unsuccessful.
|
79
|
+
#
|
80
|
+
# @version SketchUp 6.0
|
81
|
+
def add_observer(observer)
|
82
|
+
end
|
83
|
+
|
84
|
+
#
|
85
|
+
# @example
|
86
|
+
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
87
|
+
# number = optionsprovider.count
|
88
|
+
#
|
89
|
+
# @note Since SketchUp 2014 the count method is inherited from Ruby's
|
90
|
+
# +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
|
91
|
+
# for {#length}.
|
92
|
+
#
|
93
|
+
# @return [Integer]
|
94
|
+
#
|
95
|
+
# @see #length
|
96
|
+
#
|
97
|
+
# @version SketchUp 6.0
|
98
|
+
def count
|
99
|
+
end
|
100
|
+
|
101
|
+
# The {#each} method is used to iterate through all of the options.
|
102
|
+
#
|
103
|
+
# @example
|
104
|
+
# model = Sketchup.active_model
|
105
|
+
# provider = model.options['UnitsOptions']
|
106
|
+
# provider.each { |key, value| puts "#{key} = #{value}" }
|
107
|
+
#
|
108
|
+
# @return [nil]
|
109
|
+
#
|
110
|
+
# @see #each_key
|
111
|
+
#
|
112
|
+
# @version SketchUp 6.0
|
113
|
+
#
|
114
|
+
# @yield [key, value]
|
115
|
+
#
|
116
|
+
# @yieldparam [String] key
|
117
|
+
#
|
118
|
+
# @yieldparam [Object] value
|
119
|
+
def each
|
120
|
+
end
|
121
|
+
|
122
|
+
# The {#each_key} method is used to iterate through all of the attribute keys.
|
123
|
+
#
|
124
|
+
# @example
|
125
|
+
# provider.each_key { |key| puts key }
|
126
|
+
#
|
127
|
+
# @return [nil]
|
128
|
+
#
|
129
|
+
# @version SketchUp 6.0
|
130
|
+
#
|
131
|
+
# @yield [key]
|
132
|
+
#
|
133
|
+
# @yieldparam [String] key
|
134
|
+
def each_key
|
135
|
+
end
|
136
|
+
|
137
|
+
# The {#each} method is used to iterate through all of the options.
|
138
|
+
#
|
139
|
+
# @example
|
140
|
+
# model = Sketchup.active_model
|
141
|
+
# provider = model.options['UnitsOptions']
|
142
|
+
# provider.each { |key, value| puts "#{key} = #{value}" }
|
143
|
+
#
|
144
|
+
# @return [nil]
|
145
|
+
#
|
146
|
+
# @see #each_key
|
147
|
+
#
|
148
|
+
# @version SketchUp 6.0
|
149
|
+
#
|
150
|
+
# @yield [key, value]
|
151
|
+
#
|
152
|
+
# @yieldparam [String] key
|
153
|
+
#
|
154
|
+
# @yieldparam [Object] value
|
155
|
+
def each_pair
|
156
|
+
end
|
157
|
+
|
158
|
+
# The each_value method is used to iterate through all of the attribute
|
159
|
+
# values.
|
160
|
+
#
|
161
|
+
# Throws an exception if there are no keys.
|
162
|
+
#
|
163
|
+
# @example
|
164
|
+
# provider.each_value { |value| puts value }
|
165
|
+
#
|
166
|
+
# @return nil
|
167
|
+
#
|
168
|
+
# @version SketchUp 6.0
|
169
|
+
#
|
170
|
+
# @yield [value] A variable that will hold each value as they are found.
|
171
|
+
def each_value
|
172
|
+
end
|
173
|
+
|
174
|
+
# The {#has_key?} method is an alias for {#key?}.
|
175
|
+
#
|
176
|
+
# @example
|
177
|
+
# model = Sketchup.active_model
|
178
|
+
# provider = model.options['UnitsOptions']
|
179
|
+
# p provider.has_key?("LengthFormat")
|
180
|
+
#
|
181
|
+
# @param [String] name
|
182
|
+
# The name of the key you are looking for.
|
183
|
+
#
|
184
|
+
# @return [Boolean]
|
185
|
+
#
|
186
|
+
# @see #key?
|
187
|
+
#
|
188
|
+
# @version SketchUp 6.0
|
189
|
+
def has_key?(name)
|
190
|
+
end
|
191
|
+
|
192
|
+
# The {#key?} method is used to determine if the options provider has a
|
193
|
+
# specific key.
|
194
|
+
#
|
195
|
+
# @example
|
196
|
+
# model = Sketchup.active_model
|
197
|
+
# provider = model.options['UnitsOptions']
|
198
|
+
# p provider.key?("LengthFormat")
|
199
|
+
#
|
200
|
+
# @param [String] name
|
201
|
+
# The name of the key you are looking for.
|
202
|
+
#
|
203
|
+
# @return [Boolean]
|
204
|
+
#
|
205
|
+
# @see #has_key?
|
206
|
+
#
|
207
|
+
# @version SketchUp 6.0
|
208
|
+
def key?(name)
|
209
|
+
end
|
210
|
+
|
211
|
+
# The keys method is used to retrieve an array with all of the attribute keys.
|
212
|
+
#
|
213
|
+
# @example
|
214
|
+
# keys = provider.keys
|
215
|
+
# key = keys[0]
|
216
|
+
# if (key)
|
217
|
+
# UI.messagebox key
|
218
|
+
# else
|
219
|
+
# UI.messagebox "Failure"
|
220
|
+
# end
|
221
|
+
#
|
222
|
+
# @return keys - an array of keys within the options provider if
|
223
|
+
# successful
|
224
|
+
#
|
225
|
+
# @version SketchUp 6.0
|
226
|
+
def keys
|
227
|
+
end
|
228
|
+
|
229
|
+
# The {#length} method is an alias of {#size}.
|
230
|
+
#
|
231
|
+
# @example
|
232
|
+
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
233
|
+
# number = optionsprovider.length
|
234
|
+
#
|
235
|
+
# @return [Integer]
|
236
|
+
#
|
237
|
+
# @see #size
|
238
|
+
#
|
239
|
+
# @version SketchUp 2014
|
240
|
+
def length
|
241
|
+
end
|
242
|
+
|
243
|
+
# The name method is used to retrieve the name of an options provider.
|
244
|
+
#
|
245
|
+
# @example
|
246
|
+
# name = provider.name
|
247
|
+
#
|
248
|
+
# @return name - the name of the options provider if successful
|
249
|
+
#
|
250
|
+
# @version SketchUp 6.0
|
251
|
+
def name
|
252
|
+
end
|
253
|
+
|
254
|
+
# The remove_observer method is used to remove an observer from the current
|
255
|
+
# object.
|
256
|
+
#
|
257
|
+
# @example
|
258
|
+
# status = object.remove_observer observer
|
259
|
+
#
|
260
|
+
# @param observer
|
261
|
+
# An observer.
|
262
|
+
#
|
263
|
+
# @return true if successful, false if unsuccessful.
|
264
|
+
#
|
265
|
+
# @version SketchUp 6.0
|
266
|
+
def remove_observer(observer)
|
267
|
+
end
|
268
|
+
|
269
|
+
# The {#size} method is used to retrieve the size (number of elements) of an
|
270
|
+
# options provider.
|
271
|
+
#
|
272
|
+
# @example
|
273
|
+
# optionsprovider = Sketchup.active_model.options['UnitsOptions']
|
274
|
+
# number = optionsprovider.size
|
275
|
+
#
|
276
|
+
# @return [Integer]
|
277
|
+
#
|
278
|
+
# @see #length
|
279
|
+
#
|
280
|
+
# @version SketchUp 6.0
|
281
|
+
def size
|
282
|
+
end
|
283
|
+
|
284
|
+
end
|
@@ -1,58 +1,58 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# This observer interface is implemented to react to operations provider
|
5
|
-
# events. What this means is that you can watch as the user changes SketchUp
|
6
|
-
# options and react to them. The following {Sketchup::OptionsProviders} are
|
7
|
-
# defined in the API:
|
8
|
-
#
|
9
|
-
# - <code>"UnitsOptions"</code>
|
10
|
-
# - <code>"PrintOptions"</code>
|
11
|
-
# - <code>"PageOptions"</code>
|
12
|
-
# - <code>"SlideshowOptions"</code>
|
13
|
-
# - <code>"NamedOptions"</code>
|
14
|
-
#
|
15
|
-
# Each of these has a list of specific options that the user can set. See the
|
16
|
-
# {Sketchup::OptionsManager} and {Sketchup::OptionsProvider} classes for more
|
17
|
-
# details.
|
18
|
-
#
|
19
|
-
# To implement this observer, create a Ruby class of this type,
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# @example
|
24
|
-
# class MyOptionsProviderObserver < Sketchup::OptionsProviderObserver
|
25
|
-
# def onOptionsProviderChanged(provider, name)
|
26
|
-
# puts "onOptionsProviderChanged: #{name}"
|
27
|
-
# end
|
28
|
-
# end
|
29
|
-
#
|
30
|
-
# # Detect when the end user changes their units settings.
|
31
|
-
# options_provider = Sketchup.active_model.options["UnitsOptions"]
|
32
|
-
# options_provider.add_observer(MyOptionsProviderObserver.new)
|
33
|
-
#
|
34
|
-
# @version SketchUp 6.0
|
35
|
-
class Sketchup::OptionsProviderObserver
|
36
|
-
|
37
|
-
# Instance Methods
|
38
|
-
|
39
|
-
# The {#onOptionsProviderChanged} method is invoked when a property of an
|
40
|
-
# {Sketchup::OptionsProvider} changes.
|
41
|
-
#
|
42
|
-
# @example
|
43
|
-
# def onOptionsProviderChanged(provider, name)
|
44
|
-
# puts "onOptionsProviderChanged: #{name}"
|
45
|
-
# end
|
46
|
-
#
|
47
|
-
# @param [Sketchup::OptionsProvider] provider
|
48
|
-
#
|
49
|
-
# @param [String] name
|
50
|
-
# The name of the specific option that was changed.
|
51
|
-
#
|
52
|
-
# @return [nil]
|
53
|
-
#
|
54
|
-
# @version SketchUp 6.0
|
55
|
-
def onOptionsProviderChanged(provider, name)
|
56
|
-
end
|
57
|
-
|
58
|
-
end
|
1
|
+
# Copyright:: Copyright 2022 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# This observer interface is implemented to react to operations provider
|
5
|
+
# events. What this means is that you can watch as the user changes SketchUp
|
6
|
+
# options and react to them. The following {Sketchup::OptionsProviders} are
|
7
|
+
# defined in the API:
|
8
|
+
#
|
9
|
+
# - <code>"UnitsOptions"</code>
|
10
|
+
# - <code>"PrintOptions"</code>
|
11
|
+
# - <code>"PageOptions"</code>
|
12
|
+
# - <code>"SlideshowOptions"</code>
|
13
|
+
# - <code>"NamedOptions"</code>
|
14
|
+
#
|
15
|
+
# Each of these has a list of specific options that the user can set. See the
|
16
|
+
# {Sketchup::OptionsManager} and {Sketchup::OptionsProvider} classes for more
|
17
|
+
# details.
|
18
|
+
#
|
19
|
+
# @abstract To implement this observer, create a Ruby class of this type,
|
20
|
+
# override the desired methods, and add an instance of the observer to the
|
21
|
+
# objects of interests.
|
22
|
+
#
|
23
|
+
# @example
|
24
|
+
# class MyOptionsProviderObserver < Sketchup::OptionsProviderObserver
|
25
|
+
# def onOptionsProviderChanged(provider, name)
|
26
|
+
# puts "onOptionsProviderChanged: #{name}"
|
27
|
+
# end
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# # Detect when the end user changes their units settings.
|
31
|
+
# options_provider = Sketchup.active_model.options["UnitsOptions"]
|
32
|
+
# options_provider.add_observer(MyOptionsProviderObserver.new)
|
33
|
+
#
|
34
|
+
# @version SketchUp 6.0
|
35
|
+
class Sketchup::OptionsProviderObserver
|
36
|
+
|
37
|
+
# Instance Methods
|
38
|
+
|
39
|
+
# The {#onOptionsProviderChanged} method is invoked when a property of an
|
40
|
+
# {Sketchup::OptionsProvider} changes.
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# def onOptionsProviderChanged(provider, name)
|
44
|
+
# puts "onOptionsProviderChanged: #{name}"
|
45
|
+
# end
|
46
|
+
#
|
47
|
+
# @param [Sketchup::OptionsProvider] provider
|
48
|
+
#
|
49
|
+
# @param [String] name
|
50
|
+
# The name of the specific option that was changed.
|
51
|
+
#
|
52
|
+
# @return [nil]
|
53
|
+
#
|
54
|
+
# @version SketchUp 6.0
|
55
|
+
def onOptionsProviderChanged(provider, name)
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|