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,353 +1,353 @@
1
- # Copyright:: Copyright 2023 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The SketchupExtension class contains methods allowing you to create and
5
- # manipulate SketchUp extensions. Extensions are Ruby scripts that can be
6
- # loaded and unloaded using the Extension manager (Extensions panel of the
7
- # Preferences dialog box). Generally you should register your ruby scripts as
8
- # an extension to give SketchUp users the ability to disable it through the
9
- # user interface.
10
- #
11
- # The idea here is to take the ruby script that actually creates your
12
- # functionality and place it in a folder somewhere outside of the /Plugins
13
- # folder, most commonly a subdirectory like /Plugins/MyExtension. Then
14
- # you create a new ruby script inside the /Plugins directory that will
15
- # set up the extension entry and load your original script if the user
16
- # has your extension turned on.
17
- #
18
- # Here is an example extension loading script. For this example, the
19
- # following code would be saved in /Plugins/StairTools.rb, and the
20
- # actual plugin itself would live in /Plugins/StairTools/core.rb.
21
- #
22
- # You can find two example extensions that ship with SketchUp,
23
- # su_dynamiccomponents.rb and su_sandboxtools.rb, under the /Plugins/ folder.
24
- #
25
- # @example
26
- # # Create an entry in the Extension list that loads a script called
27
- # # core.rb.
28
- # require 'sketchup.rb'
29
- # require 'extensions.rb'
30
- #
31
- # stair_extension = SketchupExtension.new('Stair Tools", "StairTools/core.rb')
32
- # stair_extension.version = '1.0'
33
- # stair_extension.description = 'Tools to draw stairs automatically.'
34
- # Sketchup.register_extension(stair_extension, true)
35
- #
36
- # @version SketchUp 6.0
37
- class SketchupExtension
38
-
39
- # Instance Methods
40
-
41
- # Loads the extension, meaning the underlying ruby script is immediately
42
- # interpreted. This is the equivalent of checking the extension's checkbox
43
- # in the Preferences > Extensions list.
44
- #
45
- # @example
46
- # # This will register the extension, a necessary step for it to appear
47
- # # in SketchUp's Preferences > Extensions list
48
- # ext_c = SketchupExtension.new('Stair Tools C', 'StairTools/core.rb')
49
- # Sketchup.register_extension(ext_c, false)
50
- #
51
- # # And this will load the extension.
52
- # ext_c.check
53
- #
54
- # @return [Boolean] whether the load succeeded
55
- #
56
- # @version SketchUp 8.0 M2
57
- def check
58
- end
59
-
60
- # The copyright method returns the copyright string which appears beneath
61
- # an extension inside the Extensions Manager dialog.
62
- #
63
- # @example
64
- # # Create an entry in the Extension list that loads a script called
65
- # # core.rb.
66
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
67
- # extension.copyright = '2008'
68
- # copyright = extension.copyright
69
- #
70
- # @return [String] the Extension copyright
71
- #
72
- # @version SketchUp 6.0
73
- def copyright
74
- end
75
-
76
- # The copyright= method sets the copyright string which appears beneath
77
- # an extension inside the Extensions Manager dialog.
78
- #
79
- # @example
80
- # # Create an entry in the Extension list that loads a script called
81
- # # core.rb.
82
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
83
- # extension.copyright = '2008'
84
- # copyright = extension.copyright
85
- #
86
- # @param [String] copyright
87
- # The copyright to set
88
- #
89
- # @return [String] the new copyright
90
- #
91
- # @version SketchUp 6.0
92
- def copyright=(copyright)
93
- end
94
-
95
- # The creator method returns the creator string which appears beneath
96
- # an extension inside the Extensions Manager dialog.
97
- #
98
- # @example
99
- # # Create an entry in the Extension list that loads a script called
100
- # # core.rb.
101
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
102
- # extension.creator = 'Trimble Navigation, Inc.'
103
- # creator = extension.creator
104
- #
105
- # @return [String] the Extension creator
106
- #
107
- # @version SketchUp 6.0
108
- def creator
109
- end
110
-
111
- # The creator= method sets the creator string which appears beneath
112
- # an extension inside the Extensions Manager dialog.
113
- #
114
- # @example
115
- # # Create an entry in the Extension list that loads a script called
116
- # # core.rb.
117
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
118
- # extension.creator = 'Trimble Navigation, Inc.'
119
- # creator = extension.creator
120
- #
121
- # @param [String] creator
122
- # The creator to set
123
- #
124
- # @return [String] the new creator
125
- #
126
- # @version SketchUp 6.0
127
- def creator=(creator)
128
- end
129
-
130
- # The description method returns the long description which appears beneath
131
- # an extension inside the Extensions Manager dialog.
132
- #
133
- # @example
134
- # # Create an entry in the Extension list that loads a script called
135
- # # core.rb.
136
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
137
- # extension.description = 'My description.'
138
- # description = extension.description
139
- #
140
- # @return [String] the Extension description
141
- #
142
- # @version SketchUp 6.0
143
- def description
144
- end
145
-
146
- # The description= method sets the long description which appears beneath
147
- # an extension inside the Extensions Manager dialog.
148
- #
149
- # @example
150
- # # Create an entry in the Extension list that loads a script called
151
- # # core.rb.
152
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
153
- # extension.description = 'My description.'
154
- # description = extension.description
155
- #
156
- # @param [String] description
157
- # The description string to set.
158
- #
159
- # @return [String] the Extension description
160
- #
161
- # @version SketchUp 6.0
162
- def description=(description)
163
- end
164
-
165
- # The extension_path method returns the file system path to the extension's
166
- # outer rb file.
167
- #
168
- # @return [String] the file system path to the extension
169
- #
170
- # @version SketchUp 2013
171
- def extension_path
172
- end
173
-
174
- # The id method returns the Extension Warehouse ID string.
175
- #
176
- # @return [String] the Extension Warehouse ID
177
- #
178
- # @version SketchUp 2013
179
- def id
180
- end
181
-
182
- # The new method is used to create a new SketchupExtension object. Note
183
- # that once the extension object is created, it will not appear in the
184
- # Extension Manager dialog until your register it with the
185
- # Sketchup.register_extension method.
186
- #
187
- # @example
188
- # # Create an entry in the Extension list that loads a script called
189
- # # core.rb.
190
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core')
191
- #
192
- # # Then be sure to register it. By passing a 2nd param of true, you're
193
- # # telling SketchUp to load the extension by default.
194
- # Sketchup.register_extension(extension, true)
195
- #
196
- # @note It is recommended to omit the file extension provided in the +path+
197
- # argument. SketchUp will resolve the file extension to +.rbe+, +.rbs+
198
- # or +.rb+.
199
- #
200
- # @param [String] title
201
- # The name of the extension
202
- #
203
- # @param [String] path
204
- # The relative path to the script that loads your
205
- # plugin.
206
- #
207
- # @return [SketchupExtension]
208
- #
209
- # @version SketchUp 6.0
210
- def initialize(title, path)
211
- end
212
-
213
- # Returns whether the extension is set to load when SketchUp starts up.
214
- #
215
- # @example
216
- # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
217
- # UI.messagebox("load_on_start? is false: #{ext.load_on_start?.to_s}")
218
- # Sketchup.register_extension(ext, true)
219
- # UI.messagebox("load_on_start? is now true: #{ext.load_on_start?.to_s}")
220
- #
221
- # @return [Boolean]
222
- #
223
- # @version SketchUp 8.0 M2
224
- def load_on_start?
225
- end
226
-
227
- # Returns whether the extension is currently loaded, meaning the actual ruby
228
- # script that implements the extension has been evaluated.
229
- #
230
- # @example
231
- # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
232
- # UI.messagebox("loaded? is false: #{ext.loaded?.to_s}")
233
- # Sketchup.register_extension(ext, true)
234
- # UI.messagebox("loaded? is now true: #{ext.loaded?.to_s}")
235
- #
236
- # @return [Boolean]
237
- #
238
- # @version SketchUp 8.0 M2
239
- def loaded?
240
- end
241
-
242
- # The name method returns the name which appears for
243
- # an extension inside the Extensions Manager dialog.
244
- #
245
- # @example
246
- # # Create an entry in the Extension list that loads a script called
247
- # # core.rb.
248
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
249
- # name = extension.name
250
- #
251
- # @return [String] the Extension name
252
- #
253
- # @version SketchUp 6.0
254
- def name
255
- end
256
-
257
- # The name= method sets the name which appears for
258
- # an extension inside the Extensions Manager dialog.
259
- #
260
- # @example
261
- # # Create an entry in the Extension list that loads a script called
262
- # # core.rb.
263
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
264
- # extension.name = 'Renamed Stair Tools'
265
- #
266
- # @param [String] name
267
- # The new name
268
- #
269
- # @return [String] the Extension name
270
- #
271
- # @version SketchUp 6.0
272
- def name=(name)
273
- end
274
-
275
- # Returns whether the extension has been registered via
276
- # Sketchup.register_extension.
277
- #
278
- # @example
279
- # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
280
- # UI.messagebox("My registered? is false: #{ext.registered?.to_s}")
281
- # Sketchup.register_extension(ext, true)
282
- # UI.messagebox("Now registered? is now true: #{ext.registered?.to_s}")
283
- #
284
- # @return [Boolean]
285
- #
286
- # @version SketchUp 8.0 M2
287
- def registered?
288
- end
289
-
290
- # Unloads the extension. This is the equivalent of unchecking the extension's
291
- # checkbox in the Preferences > Extensions list.
292
- #
293
- # Note that technically the extension is not "unloaded" in the sense that it
294
- # stops running during the current SketchUp session, but the next time the
295
- # user restarts SketchUp, the extension will not be active.
296
- #
297
- # @example
298
- # # This unloads all extensions. The next time SketchUp starts, none of
299
- # # the extensions will be active.
300
- # Sketchup.extensions.each { |extension|
301
- # extension.uncheck
302
- # }
303
- #
304
- # @return [Boolean] whether the unload succeeded
305
- #
306
- # @version SketchUp 8.0 M2
307
- def uncheck
308
- end
309
-
310
- # The version method returns the version which appears beneath
311
- # an extension inside the Extensions Manager dialog.
312
- #
313
- # @example
314
- # # Create an entry in the Extension list that loads a script called
315
- # # core.rb.
316
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
317
- # extension.version = '5.0'
318
- # version = extension.version
319
- #
320
- # @return [String] the Extension version
321
- #
322
- # @version SketchUp 6.0
323
- def version
324
- end
325
-
326
- # The version method sets the version which appears beneath
327
- # an extension inside the Extensions Manager dialog.
328
- #
329
- # @example
330
- # # Create an entry in the Extension list that loads a script called
331
- # # core.rb.
332
- # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
333
- # extension.version = '5.0'
334
- # version = extension.version
335
- #
336
- # @param [String] version
337
- # The version string to set.
338
- #
339
- # @return [String] the Extension version
340
- #
341
- # @version SketchUp 6.0
342
- def version=(version)
343
- end
344
-
345
- # The version_id method returns the Extension Warehouse Version ID string.
346
- #
347
- # @return [String] the Extension Warehouse Version ID string
348
- #
349
- # @version SketchUp 2013
350
- def version_id
351
- end
352
-
353
- end
1
+ # Copyright:: Copyright 2024 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The SketchupExtension class contains methods allowing you to create and
5
+ # manipulate SketchUp extensions. Extensions are Ruby scripts that can be
6
+ # loaded and unloaded using the Extension manager (Extensions panel of the
7
+ # Preferences dialog box). Generally you should register your ruby scripts as
8
+ # an extension to give SketchUp users the ability to disable it through the
9
+ # user interface.
10
+ #
11
+ # The idea here is to take the ruby script that actually creates your
12
+ # functionality and place it in a folder somewhere outside of the /Plugins
13
+ # folder, most commonly a subdirectory like /Plugins/MyExtension. Then
14
+ # you create a new ruby script inside the /Plugins directory that will
15
+ # set up the extension entry and load your original script if the user
16
+ # has your extension turned on.
17
+ #
18
+ # Here is an example extension loading script. For this example, the
19
+ # following code would be saved in /Plugins/StairTools.rb, and the
20
+ # actual plugin itself would live in /Plugins/StairTools/core.rb.
21
+ #
22
+ # You can find two example extensions that ship with SketchUp,
23
+ # su_dynamiccomponents.rb and su_sandboxtools.rb, under the /Plugins/ folder.
24
+ #
25
+ # @example
26
+ # # Create an entry in the Extension list that loads a script called
27
+ # # core.rb.
28
+ # require 'sketchup.rb'
29
+ # require 'extensions.rb'
30
+ #
31
+ # stair_extension = SketchupExtension.new('Stair Tools", "StairTools/core.rb')
32
+ # stair_extension.version = '1.0'
33
+ # stair_extension.description = 'Tools to draw stairs automatically.'
34
+ # Sketchup.register_extension(stair_extension, true)
35
+ #
36
+ # @version SketchUp 6.0
37
+ class SketchupExtension
38
+
39
+ # Instance Methods
40
+
41
+ # Loads the extension, meaning the underlying ruby script is immediately
42
+ # interpreted. This is the equivalent of checking the extension's checkbox
43
+ # in the Preferences > Extensions list.
44
+ #
45
+ # @example
46
+ # # This will register the extension, a necessary step for it to appear
47
+ # # in SketchUp's Preferences > Extensions list
48
+ # ext_c = SketchupExtension.new('Stair Tools C', 'StairTools/core.rb')
49
+ # Sketchup.register_extension(ext_c, false)
50
+ #
51
+ # # And this will load the extension.
52
+ # ext_c.check
53
+ #
54
+ # @return [Boolean] whether the load succeeded
55
+ #
56
+ # @version SketchUp 8.0 M2
57
+ def check
58
+ end
59
+
60
+ # The copyright method returns the copyright string which appears beneath
61
+ # an extension inside the Extensions Manager dialog.
62
+ #
63
+ # @example
64
+ # # Create an entry in the Extension list that loads a script called
65
+ # # core.rb.
66
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
67
+ # extension.copyright = '2008'
68
+ # copyright = extension.copyright
69
+ #
70
+ # @return [String] the Extension copyright
71
+ #
72
+ # @version SketchUp 6.0
73
+ def copyright
74
+ end
75
+
76
+ # The copyright= method sets the copyright string which appears beneath
77
+ # an extension inside the Extensions Manager dialog.
78
+ #
79
+ # @example
80
+ # # Create an entry in the Extension list that loads a script called
81
+ # # core.rb.
82
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
83
+ # extension.copyright = '2008'
84
+ # copyright = extension.copyright
85
+ #
86
+ # @param [String] copyright
87
+ # The copyright to set
88
+ #
89
+ # @return [String] the new copyright
90
+ #
91
+ # @version SketchUp 6.0
92
+ def copyright=(copyright)
93
+ end
94
+
95
+ # The creator method returns the creator string which appears beneath
96
+ # an extension inside the Extensions Manager dialog.
97
+ #
98
+ # @example
99
+ # # Create an entry in the Extension list that loads a script called
100
+ # # core.rb.
101
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
102
+ # extension.creator = 'Trimble Navigation, Inc.'
103
+ # creator = extension.creator
104
+ #
105
+ # @return [String] the Extension creator
106
+ #
107
+ # @version SketchUp 6.0
108
+ def creator
109
+ end
110
+
111
+ # The creator= method sets the creator string which appears beneath
112
+ # an extension inside the Extensions Manager dialog.
113
+ #
114
+ # @example
115
+ # # Create an entry in the Extension list that loads a script called
116
+ # # core.rb.
117
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
118
+ # extension.creator = 'Trimble Navigation, Inc.'
119
+ # creator = extension.creator
120
+ #
121
+ # @param [String] creator
122
+ # The creator to set
123
+ #
124
+ # @return [String] the new creator
125
+ #
126
+ # @version SketchUp 6.0
127
+ def creator=(creator)
128
+ end
129
+
130
+ # The description method returns the long description which appears beneath
131
+ # an extension inside the Extensions Manager dialog.
132
+ #
133
+ # @example
134
+ # # Create an entry in the Extension list that loads a script called
135
+ # # core.rb.
136
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
137
+ # extension.description = 'My description.'
138
+ # description = extension.description
139
+ #
140
+ # @return [String] the Extension description
141
+ #
142
+ # @version SketchUp 6.0
143
+ def description
144
+ end
145
+
146
+ # The description= method sets the long description which appears beneath
147
+ # an extension inside the Extensions Manager dialog.
148
+ #
149
+ # @example
150
+ # # Create an entry in the Extension list that loads a script called
151
+ # # core.rb.
152
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
153
+ # extension.description = 'My description.'
154
+ # description = extension.description
155
+ #
156
+ # @param [String] description
157
+ # The description string to set.
158
+ #
159
+ # @return [String] the Extension description
160
+ #
161
+ # @version SketchUp 6.0
162
+ def description=(description)
163
+ end
164
+
165
+ # The extension_path method returns the file system path to the extension's
166
+ # outer rb file.
167
+ #
168
+ # @return [String] the file system path to the extension
169
+ #
170
+ # @version SketchUp 2013
171
+ def extension_path
172
+ end
173
+
174
+ # The id method returns the Extension Warehouse ID string.
175
+ #
176
+ # @return [String] the Extension Warehouse ID
177
+ #
178
+ # @version SketchUp 2013
179
+ def id
180
+ end
181
+
182
+ # The new method is used to create a new SketchupExtension object. Note
183
+ # that once the extension object is created, it will not appear in the
184
+ # Extension Manager dialog until your register it with the
185
+ # Sketchup.register_extension method.
186
+ #
187
+ # @example
188
+ # # Create an entry in the Extension list that loads a script called
189
+ # # core.rb.
190
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core')
191
+ #
192
+ # # Then be sure to register it. By passing a 2nd param of true, you're
193
+ # # telling SketchUp to load the extension by default.
194
+ # Sketchup.register_extension(extension, true)
195
+ #
196
+ # @note It is recommended to omit the file extension provided in the +path+
197
+ # argument. SketchUp will resolve the file extension to +.rbe+, +.rbs+
198
+ # or +.rb+.
199
+ #
200
+ # @param [String] title
201
+ # The name of the extension
202
+ #
203
+ # @param [String] path
204
+ # The relative path to the script that loads your
205
+ # plugin.
206
+ #
207
+ # @return [SketchupExtension]
208
+ #
209
+ # @version SketchUp 6.0
210
+ def initialize(title, path)
211
+ end
212
+
213
+ # Returns whether the extension is set to load when SketchUp starts up.
214
+ #
215
+ # @example
216
+ # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
217
+ # UI.messagebox("load_on_start? is false: #{ext.load_on_start?.to_s}")
218
+ # Sketchup.register_extension(ext, true)
219
+ # UI.messagebox("load_on_start? is now true: #{ext.load_on_start?.to_s}")
220
+ #
221
+ # @return [Boolean]
222
+ #
223
+ # @version SketchUp 8.0 M2
224
+ def load_on_start?
225
+ end
226
+
227
+ # Returns whether the extension is currently loaded, meaning the actual ruby
228
+ # script that implements the extension has been evaluated.
229
+ #
230
+ # @example
231
+ # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
232
+ # UI.messagebox("loaded? is false: #{ext.loaded?.to_s}")
233
+ # Sketchup.register_extension(ext, true)
234
+ # UI.messagebox("loaded? is now true: #{ext.loaded?.to_s}")
235
+ #
236
+ # @return [Boolean]
237
+ #
238
+ # @version SketchUp 8.0 M2
239
+ def loaded?
240
+ end
241
+
242
+ # The name method returns the name which appears for
243
+ # an extension inside the Extensions Manager dialog.
244
+ #
245
+ # @example
246
+ # # Create an entry in the Extension list that loads a script called
247
+ # # core.rb.
248
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
249
+ # name = extension.name
250
+ #
251
+ # @return [String] the Extension name
252
+ #
253
+ # @version SketchUp 6.0
254
+ def name
255
+ end
256
+
257
+ # The name= method sets the name which appears for
258
+ # an extension inside the Extensions Manager dialog.
259
+ #
260
+ # @example
261
+ # # Create an entry in the Extension list that loads a script called
262
+ # # core.rb.
263
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
264
+ # extension.name = 'Renamed Stair Tools'
265
+ #
266
+ # @param [String] name
267
+ # The new name
268
+ #
269
+ # @return [String] the Extension name
270
+ #
271
+ # @version SketchUp 6.0
272
+ def name=(name)
273
+ end
274
+
275
+ # Returns whether the extension has been registered via
276
+ # Sketchup.register_extension.
277
+ #
278
+ # @example
279
+ # ext = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
280
+ # UI.messagebox("My registered? is false: #{ext.registered?.to_s}")
281
+ # Sketchup.register_extension(ext, true)
282
+ # UI.messagebox("Now registered? is now true: #{ext.registered?.to_s}")
283
+ #
284
+ # @return [Boolean]
285
+ #
286
+ # @version SketchUp 8.0 M2
287
+ def registered?
288
+ end
289
+
290
+ # Unloads the extension. This is the equivalent of unchecking the extension's
291
+ # checkbox in the Preferences > Extensions list.
292
+ #
293
+ # Note that technically the extension is not "unloaded" in the sense that it
294
+ # stops running during the current SketchUp session, but the next time the
295
+ # user restarts SketchUp, the extension will not be active.
296
+ #
297
+ # @example
298
+ # # This unloads all extensions. The next time SketchUp starts, none of
299
+ # # the extensions will be active.
300
+ # Sketchup.extensions.each { |extension|
301
+ # extension.uncheck
302
+ # }
303
+ #
304
+ # @return [Boolean] whether the unload succeeded
305
+ #
306
+ # @version SketchUp 8.0 M2
307
+ def uncheck
308
+ end
309
+
310
+ # The version method returns the version which appears beneath
311
+ # an extension inside the Extensions Manager dialog.
312
+ #
313
+ # @example
314
+ # # Create an entry in the Extension list that loads a script called
315
+ # # core.rb.
316
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
317
+ # extension.version = '5.0'
318
+ # version = extension.version
319
+ #
320
+ # @return [String] the Extension version
321
+ #
322
+ # @version SketchUp 6.0
323
+ def version
324
+ end
325
+
326
+ # The version method sets the version which appears beneath
327
+ # an extension inside the Extensions Manager dialog.
328
+ #
329
+ # @example
330
+ # # Create an entry in the Extension list that loads a script called
331
+ # # core.rb.
332
+ # extension = SketchupExtension.new('Stair Tools', 'StairTools/core.rb')
333
+ # extension.version = '5.0'
334
+ # version = extension.version
335
+ #
336
+ # @param [String] version
337
+ # The version string to set.
338
+ #
339
+ # @return [String] the Extension version
340
+ #
341
+ # @version SketchUp 6.0
342
+ def version=(version)
343
+ end
344
+
345
+ # The version_id method returns the Extension Warehouse Version ID string.
346
+ #
347
+ # @return [String] the Extension Warehouse Version ID string
348
+ #
349
+ # @version SketchUp 2013
350
+ def version_id
351
+ end
352
+
353
+ end