sketchup-api-stubs 0.7.4 → 0.7.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +148 -145
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
  16. data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
  17. data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
  23. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  24. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
  26. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
  27. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  28. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  29. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  30. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
  31. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  32. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  33. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
  34. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
  35. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  37. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
  38. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
  39. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
  40. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
  41. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  42. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  43. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
  44. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  45. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  46. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  48. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  49. data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
  50. data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
  51. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
  52. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
  140. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
  141. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  142. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  143. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
  144. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
  145. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
  146. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
  147. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  148. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
  149. data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
  150. data/lib/sketchup-api-stubs.rb +1 -1
  151. metadata +15 -12
@@ -1,353 +1,363 @@
1
- # Copyright:: Copyright 2020 Trimble Inc.
2
- # License:: The MIT License (MIT)
3
-
4
- # The Pages class contains methods for manipulating a collection of Pages
5
- # (scenes) in a model.
6
- #
7
- # You get a handle to this collection by calling Model.pages.
8
- #
9
- # @example
10
- # model = Sketchup.active_model
11
- # pages = model.pages
12
- #
13
- # @version SketchUp 6.0
14
- class Sketchup::Pages < Sketchup::Entity
15
-
16
- # Includes
17
-
18
- include Enumerable
19
-
20
- # Class Methods
21
-
22
- # The {.add_frame_change_observer} method is used to add a new frame change
23
- # observer that is called with each frame of an animation, meaning the
24
- # end user has clicked on a Scene tab (aka Page) inside SketchUp and
25
- # the camera is animating to that scene.
26
- #
27
- # The method returns an integer id that can be stored and later used to remove
28
- # the observer with the {Sketchup::Pages.remove_frame_change_observer} method.
29
- #
30
- # @example
31
- # class MyFrameChangeObserver
32
- # def frameChange(from_page, to_page, percent_done)
33
- # puts "From page #{from_page.name} to #{to_page.name} (#{percent_done * 100}%)"
34
- # end
35
- # end
36
- # id = Sketchup::Pages.add_frame_change_observer(MyFrameChangeObserver.new)
37
- #
38
- # @param [#frameChange] object
39
- # An object that implements the
40
- # {Sketchup::FrameChangeObserver#frameChange} method.
41
- #
42
- # @return [Integer] A unique id of the observer
43
- #
44
- # @see Sketchup::FrameChangeObserver#frameChange
45
- #
46
- # @version SketchUp 6.0
47
- def self.add_frame_change_observer(object)
48
- end
49
-
50
- # The #{remove_frame_change_observer} method is used to remove a frame change
51
- # observer
52
- #
53
- # @example
54
- # Sketchup::Pages.remove_frame_change_observer(id)
55
- #
56
- # @param [Integer] observer_id
57
- # The unique id returned by {.add_frame_change_observer}
58
- #
59
- # @return [Boolean]
60
- #
61
- # @version SketchUp 6.0
62
- def self.remove_frame_change_observer(observer_id)
63
- end
64
-
65
- # Instance Methods
66
-
67
- # The [] method retrieves a page by either name or index.
68
- #
69
- # @example
70
- # model = Sketchup.active_model
71
- # pages = model.pages
72
- # status = pages.add "Page 1"
73
- # status = pages.add "Page 2"
74
- # page = pages["Page 2"]
75
- # if (page)
76
- # UI.messagebox page
77
- # else
78
- # UI.messagebox "Failure"
79
- # end
80
- #
81
- # @param index_or_name
82
- # The index or the string name of the specific page.
83
- #
84
- # @return page - a Page object if successful
85
- #
86
- # @version SketchUp 6.0
87
- def [](index_or_name)
88
- end
89
-
90
- # The add method is used to add an empty Page object to the collection.
91
- #
92
- # If no name is given, then a new name is generated using the default name for
93
- # new Pages. If a name is given, then a new Page with that name is
94
- # added.
95
- #
96
- # If the flags parameter is given, it controls which properties are saved with
97
- # the Page. See the Page.update method for a description of the flags that can
98
- # be set.
99
- #
100
- # If index is given, it specifies the position in the page list that the new
101
- # page is added. Otherwise the new page is added to the end.
102
- #
103
- # @example
104
- # model = Sketchup.active_model
105
- # pages = model.pages
106
- # status = pages.add "Page 1"
107
- # status = pages.add "Page 2"
108
- # if (status)
109
- # UI.messagebox status
110
- # else
111
- # UI.messagebox "Failure"
112
- # end
113
- #
114
- # @param name
115
- # The name of the specific page.
116
- #
117
- # @param [optional] flags
118
- # Bit flags in integer form.
119
- #
120
- # @param [optional] index
121
- # Index of where to inset.
122
- #
123
- # @return nil
124
- #
125
- # @version SketchUp 6.0
126
- def add(name, flags, index)
127
- end
128
-
129
- # The add_matchphoto_page method is used to add a photomatch page to the
130
- # model. This is an advanced feature that was added to support internal
131
- # SketchUp work, so it is unlikely to be useful to you.
132
- #
133
- # @example
134
- # pages = Sketchup.active_model.pages
135
- # page = pages.add_matchphoto_page "Test"
136
- #
137
- # @param image_name
138
- # String image name.
139
- #
140
- # @param [optional] camera
141
- # Camera object.
142
- #
143
- # @param [optional] page_name
144
- # String page name.
145
- #
146
- # @return page - the new photomatch page.
147
- #
148
- # @version SketchUp 7.0
149
- def add_matchphoto_page(image_name, camera, page_name)
150
- end
151
-
152
- # The add_observer method is used to add an observer to the Pages object.
153
- # See the PagesObserver interface for more details.
154
- #
155
- # @example
156
- # pages = Sketchup.active_model.pages
157
- # status = pages.add_observer observer
158
- #
159
- # @param observer
160
- # An observer.
161
- #
162
- # @return true if successful, false if unsuccessful.
163
- #
164
- # @version SketchUp 6.0
165
- def add_observer(observer)
166
- end
167
-
168
- #
169
- # @example
170
- # pages = Sketchup.active_model.pages
171
- # pages.add('Page 1')
172
- # pages.add('Page 2')
173
- # number = pages.count
174
- #
175
- # @note Since SketchUp 2014 the count method is inherited from Ruby's
176
- # +Enumable+ mix-in module. Prior to that the {#count} method is an alias
177
- # for {#length}.
178
- #
179
- # @return [Integer]
180
- #
181
- # @see #length
182
- #
183
- # @version SketchUp 6.0
184
- def count
185
- end
186
-
187
- # The each method is used to iterate through pages.
188
- #
189
- # @example
190
- # model = Sketchup.active_model
191
- # pages = model.pages
192
- # status = pages.add "Page 1"
193
- # status = pages.add "Page 2"
194
- # pages.each {|page| UI.messagebox page}
195
- #
196
- # @return nil
197
- #
198
- # @version SketchUp 6.0
199
- #
200
- # @yield [page] Variables that will hold each page as it is found.
201
- def each
202
- end
203
-
204
- # The {#erase} method is used to remove a page from the collection.
205
- #
206
- # @example
207
- # page = Sketchup.active_model.pages.add('Hello World')
208
- # Sketchup.active_model.pages.erase(page)
209
- #
210
- # @param [Sketchup::Page] page
211
- #
212
- # @return [Boolean]
213
- #
214
- # @version SketchUp 6.0
215
- def erase(page)
216
- end
217
-
218
- # The {#length} method is an alias for {#size}.
219
- #
220
- # @example
221
- # pages = Sketchup.active_model.pages
222
- # pages.add('Page 1')
223
- # pages.add('Page 2')
224
- # number = pages.length
225
- #
226
- # @return [Integer]
227
- #
228
- # @see #size
229
- #
230
- # @version SketchUp 2014
231
- def length
232
- end
233
-
234
- # The parent method is used to determine the model for the Pages collection.
235
- #
236
- # @example
237
- # model = Sketchup.active_model
238
- # pages = model.pages
239
- # status = pages.add "Page 1"
240
- # status = pages.add "Page 2"
241
- # model = pages.parent
242
- #
243
- # @return model - the model that contains the pages if successful
244
- #
245
- # @version SketchUp 6.0
246
- def parent
247
- end
248
-
249
- # The remove_observer method is used to remove an observer from the current
250
- # object. See the PagesObserver interface for more details.
251
- #
252
- # @example
253
- # pages = Sketchup.active_model.pages
254
- # status = pages.remove_observer observer
255
- #
256
- # @param observer
257
- # An observer.
258
- #
259
- # @return true if successful, false if unsuccessful.
260
- #
261
- # @version SketchUp 6.0
262
- def remove_observer(observer)
263
- end
264
-
265
- # The selected_page method is used to retrieve the currently selected page.
266
- #
267
- # @example
268
- # model = Sketchup.active_model
269
- # pages = model.pages
270
- # status = pages.add "Page 1"
271
- # status = pages.add "Page 2"
272
- # page = pages.selected_page
273
- #
274
- # @return page - the currently selected Page object if successful
275
- #
276
- # @version SketchUp 6.0
277
- def selected_page
278
- end
279
-
280
- # The selected_page method is used to set the currently selected page. Once
281
- # you set this, SketchUp will animate to that page as if the user had clicked
282
- # on its scene tab.
283
- #
284
- # @example
285
- # model = Sketchup.active_model
286
- # pages = model.pages
287
- # status = pages.add "Page 1"
288
- # status = pages.add "Page 2"
289
- # pages.selected_page = model.pages[1]
290
- #
291
- # @param [Sketchup::Page] page
292
- #
293
- # @return status - true if successful
294
- #
295
- # @version SketchUp 6.0
296
- def selected_page=(page)
297
- end
298
-
299
- # The {#show_frame_at} method is used to show a frame in animation (of the
300
- # slide show) at a given time in seconds.
301
- #
302
- # @example
303
- # model = Sketchup.active_model
304
- # pages = model.pages
305
- # pages.add("Page 1")
306
- # pages.add("Page 2")
307
- # page, ratio = pages.show_frame_at(1.8)
308
- #
309
- # @note In versions prior to SketchUp 2019 this method will crash if called
310
- # when there are no pages in the model.
311
- #
312
- # @param [Float] seconds
313
- # The time in seconds.
314
- #
315
- # @return [Array(Sketchup::Page, Float), nil] Upon success it returns the
316
- # page that is displayed and a parameter between +0.0+ and +1.0+ that is
317
- # tells how far along the transition to next page you are at.
318
- #
319
- # @version SketchUp 6.0
320
- def show_frame_at(seconds)
321
- end
322
-
323
- # The {#size} method is used to retrieve the number of pages.
324
- #
325
- # @example
326
- # pages = Sketchup.active_model.pages
327
- # pages.add('Page 1')
328
- # pages.add('Page 2')
329
- # number = pages.size
330
- #
331
- # @return [Integer]
332
- #
333
- # @see #length
334
- #
335
- # @version SketchUp 6.0
336
- def size
337
- end
338
-
339
- # The slideshow_time method is used to get the amount of time that a slideshow
340
- # of all of the pages will take. This takes into account the transition time
341
- # for each Page and the amount of time that each Page is displayed.
342
- #
343
- # @example
344
- # pages = Sketchup.active_model.pages
345
- # time = pages.slideshow_time
346
- #
347
- # @return status - true if successful
348
- #
349
- # @version SketchUp 6.0
350
- def slideshow_time
351
- end
352
-
353
- end
1
+ # Copyright:: Copyright 2022 Trimble Inc.
2
+ # License:: The MIT License (MIT)
3
+
4
+ # The Pages class contains methods for manipulating a collection of Pages
5
+ # (Named "scenes" in the UI.) in a model.
6
+ #
7
+ # You get a handle to this collection by calling Model.pages.
8
+ #
9
+ # @example
10
+ # model = Sketchup.active_model
11
+ # pages = model.pages
12
+ #
13
+ # @version SketchUp 6.0
14
+ class Sketchup::Pages < Sketchup::Entity
15
+
16
+ # Includes
17
+
18
+ include Enumerable
19
+
20
+ # Constants
21
+
22
+ ImageEmbedded = nil # Stub value.
23
+ ImageEmbeddedAndLinked = nil # Stub value.
24
+ ImageLinked = nil # Stub value.
25
+
26
+ UnitsNormalizedX = nil # Stub value.
27
+ UnitsNormalizedY = nil # Stub value.
28
+ UnitsPixels = nil # Stub value.
29
+
30
+ # Class Methods
31
+
32
+ # The {.add_frame_change_observer} method is used to add a new frame change
33
+ # observer that is called with each frame of an animation, meaning the
34
+ # end user has clicked on a Scene tab (aka Page) inside SketchUp and
35
+ # the camera is animating to that scene.
36
+ #
37
+ # The method returns an integer id that can be stored and later used to remove
38
+ # the observer with the {Sketchup::Pages.remove_frame_change_observer} method.
39
+ #
40
+ # @example
41
+ # class MyFrameChangeObserver
42
+ # def frameChange(from_page, to_page, percent_done)
43
+ # puts "From page #{from_page.name} to #{to_page.name} (#{percent_done * 100}%)"
44
+ # end
45
+ # end
46
+ # id = Sketchup::Pages.add_frame_change_observer(MyFrameChangeObserver.new)
47
+ #
48
+ # @param [#frameChange] object
49
+ # An object that implements the
50
+ # {Sketchup::FrameChangeObserver#frameChange} method.
51
+ #
52
+ # @return [Integer] A unique id of the observer
53
+ #
54
+ # @see Sketchup::FrameChangeObserver#frameChange
55
+ #
56
+ # @version SketchUp 6.0
57
+ def self.add_frame_change_observer(object)
58
+ end
59
+
60
+ # The {.remove_frame_change_observer} method is used to remove a frame change
61
+ # observer
62
+ #
63
+ # @example
64
+ # Sketchup::Pages.remove_frame_change_observer(id)
65
+ #
66
+ # @param [Integer] observer_id
67
+ # The unique id returned by {.add_frame_change_observer}
68
+ #
69
+ # @return [Boolean]
70
+ #
71
+ # @version SketchUp 6.0
72
+ def self.remove_frame_change_observer(observer_id)
73
+ end
74
+
75
+ # Instance Methods
76
+
77
+ # The [] method retrieves a page by either name or index.
78
+ #
79
+ # @example
80
+ # model = Sketchup.active_model
81
+ # pages = model.pages
82
+ # status = pages.add "Page 1"
83
+ # status = pages.add "Page 2"
84
+ # page = pages["Page 2"]
85
+ # if (page)
86
+ # UI.messagebox page
87
+ # else
88
+ # UI.messagebox "Failure"
89
+ # end
90
+ #
91
+ # @param index_or_name
92
+ # The index or the string name of the specific page.
93
+ #
94
+ # @return page - a Page object if successful
95
+ #
96
+ # @version SketchUp 6.0
97
+ def [](index_or_name)
98
+ end
99
+
100
+ # The {#add} method is used to add a new Page object to the collection.
101
+ #
102
+ # If no name is given, then a new name is generated using the default name for
103
+ # new Pages. If a name is given, then a new Page with that name is
104
+ # added.
105
+ #
106
+ # If the flags parameter is given, it controls which properties are saved with
107
+ # the Page. See the {Page#update} method for a description of the flags that
108
+ # can be set.
109
+ #
110
+ # If index is given, it specifies the position in the page list that the new
111
+ # page is added. Otherwise the new page is added to the end.
112
+ #
113
+ # @example
114
+ # model = Sketchup.active_model
115
+ # pages = model.pages
116
+ # status = pages.add "Page 1"
117
+ # status = pages.add "Page 2"
118
+ # if (status)
119
+ # UI.messagebox status
120
+ # else
121
+ # UI.messagebox "Failure"
122
+ # end
123
+ #
124
+ # @param [String] name
125
+ # The name of the specific page.
126
+ #
127
+ # @param [Integer] flags
128
+ # Bit flags in integer form.
129
+ #
130
+ # @param [Integer] index
131
+ # Index of where to inset.
132
+ #
133
+ # @return [Sketchup::Page]
134
+ #
135
+ # @version SketchUp 6.0
136
+ def add(name = nil, flags = PAGE_USE_ALL, index = self.size)
137
+ end
138
+
139
+ # The add_matchphoto_page method is used to add a photomatch page to the
140
+ # model. This is an advanced feature that was added to support internal
141
+ # SketchUp work, so it is unlikely to be useful to you.
142
+ #
143
+ # @example
144
+ # pages = Sketchup.active_model.pages
145
+ # page = pages.add_matchphoto_page "Test"
146
+ #
147
+ # @param image_name
148
+ # String image name.
149
+ #
150
+ # @param [optional] camera
151
+ # Camera object.
152
+ #
153
+ # @param [optional] page_name
154
+ # String page name.
155
+ #
156
+ # @return page - the new photomatch page.
157
+ #
158
+ # @version SketchUp 7.0
159
+ def add_matchphoto_page(image_name, camera, page_name)
160
+ end
161
+
162
+ # The add_observer method is used to add an observer to the Pages object.
163
+ # See the PagesObserver interface for more details.
164
+ #
165
+ # @example
166
+ # pages = Sketchup.active_model.pages
167
+ # status = pages.add_observer observer
168
+ #
169
+ # @param observer
170
+ # An observer.
171
+ #
172
+ # @return true if successful, false if unsuccessful.
173
+ #
174
+ # @version SketchUp 6.0
175
+ def add_observer(observer)
176
+ end
177
+
178
+ #
179
+ # @example
180
+ # pages = Sketchup.active_model.pages
181
+ # pages.add('Page 1')
182
+ # pages.add('Page 2')
183
+ # number = pages.count
184
+ #
185
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
186
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
187
+ # for {#length}.
188
+ #
189
+ # @return [Integer]
190
+ #
191
+ # @see #length
192
+ #
193
+ # @version SketchUp 6.0
194
+ def count
195
+ end
196
+
197
+ # The each method is used to iterate through pages.
198
+ #
199
+ # @example
200
+ # model = Sketchup.active_model
201
+ # pages = model.pages
202
+ # status = pages.add "Page 1"
203
+ # status = pages.add "Page 2"
204
+ # pages.each {|page| puts page}
205
+ #
206
+ # @return nil
207
+ #
208
+ # @version SketchUp 6.0
209
+ #
210
+ # @yield [page] Variables that will hold each page as it is found.
211
+ def each
212
+ end
213
+
214
+ # The {#erase} method is used to remove a page from the collection.
215
+ #
216
+ # @example
217
+ # page = Sketchup.active_model.pages.add('Hello World')
218
+ # Sketchup.active_model.pages.erase(page)
219
+ #
220
+ # @param [Sketchup::Page] page
221
+ #
222
+ # @return [Boolean]
223
+ #
224
+ # @version SketchUp 6.0
225
+ def erase(page)
226
+ end
227
+
228
+ # The {#length} method is an alias for {#size}.
229
+ #
230
+ # @example
231
+ # pages = Sketchup.active_model.pages
232
+ # pages.add('Page 1')
233
+ # pages.add('Page 2')
234
+ # number = pages.length
235
+ #
236
+ # @return [Integer]
237
+ #
238
+ # @see #size
239
+ #
240
+ # @version SketchUp 2014
241
+ def length
242
+ end
243
+
244
+ # The parent method is used to determine the model for the Pages collection.
245
+ #
246
+ # @example
247
+ # model = Sketchup.active_model
248
+ # pages = model.pages
249
+ # status = pages.add "Page 1"
250
+ # status = pages.add "Page 2"
251
+ # model = pages.parent
252
+ #
253
+ # @return model - the model that contains the pages if successful
254
+ #
255
+ # @version SketchUp 6.0
256
+ def parent
257
+ end
258
+
259
+ # The remove_observer method is used to remove an observer from the current
260
+ # object. See the PagesObserver interface for more details.
261
+ #
262
+ # @example
263
+ # pages = Sketchup.active_model.pages
264
+ # status = pages.remove_observer observer
265
+ #
266
+ # @param observer
267
+ # An observer.
268
+ #
269
+ # @return true if successful, false if unsuccessful.
270
+ #
271
+ # @version SketchUp 6.0
272
+ def remove_observer(observer)
273
+ end
274
+
275
+ # The selected_page method is used to retrieve the currently selected page.
276
+ #
277
+ # @example
278
+ # model = Sketchup.active_model
279
+ # pages = model.pages
280
+ # status = pages.add "Page 1"
281
+ # status = pages.add "Page 2"
282
+ # page = pages.selected_page
283
+ #
284
+ # @return page - the currently selected Page object if successful
285
+ #
286
+ # @version SketchUp 6.0
287
+ def selected_page
288
+ end
289
+
290
+ # The selected_page method is used to set the currently selected page. Once
291
+ # you set this, SketchUp will animate to that page as if the user had clicked
292
+ # on its scene tab.
293
+ #
294
+ # @example
295
+ # model = Sketchup.active_model
296
+ # pages = model.pages
297
+ # status = pages.add "Page 1"
298
+ # status = pages.add "Page 2"
299
+ # pages.selected_page = model.pages[1]
300
+ #
301
+ # @param [Sketchup::Page] page
302
+ #
303
+ # @return status - true if successful
304
+ #
305
+ # @version SketchUp 6.0
306
+ def selected_page=(page)
307
+ end
308
+
309
+ # The {#show_frame_at} method is used to show a frame in animation (of the
310
+ # slide show) at a given time in seconds.
311
+ #
312
+ # @example
313
+ # model = Sketchup.active_model
314
+ # pages = model.pages
315
+ # pages.add("Page 1")
316
+ # pages.add("Page 2")
317
+ # page, ratio = pages.show_frame_at(1.8)
318
+ #
319
+ # @note In versions prior to SketchUp 2019 this method will crash if called
320
+ # when there are no pages in the model.
321
+ #
322
+ # @param [Float] seconds
323
+ # The time in seconds.
324
+ #
325
+ # @return [Array(Sketchup::Page, Float), nil] Upon success it returns the
326
+ # page that is displayed and a parameter between +0.0+ and +1.0+ that is
327
+ # tells how far along the transition to next page you are at.
328
+ #
329
+ # @version SketchUp 6.0
330
+ def show_frame_at(seconds)
331
+ end
332
+
333
+ # The {#size} method is used to retrieve the number of pages.
334
+ #
335
+ # @example
336
+ # pages = Sketchup.active_model.pages
337
+ # pages.add('Page 1')
338
+ # pages.add('Page 2')
339
+ # number = pages.size
340
+ #
341
+ # @return [Integer]
342
+ #
343
+ # @see #length
344
+ #
345
+ # @version SketchUp 6.0
346
+ def size
347
+ end
348
+
349
+ # The slideshow_time method is used to get the amount of time that a slideshow
350
+ # of all of the pages will take. This takes into account the transition time
351
+ # for each Page and the amount of time that each Page is displayed.
352
+ #
353
+ # @example
354
+ # pages = Sketchup.active_model.pages
355
+ # time = pages.slideshow_time
356
+ #
357
+ # @return status - true if successful
358
+ #
359
+ # @version SketchUp 6.0
360
+ def slideshow_time
361
+ end
362
+
363
+ end