sketchup-api-stubs 0.7.7 → 0.7.9

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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +151 -147
  3. data/lib/sketchup-api-stubs/stubs/{array.rb → 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 -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 -351
  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 +747 -411
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
  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 +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 -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 +387 -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 -0
  43. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
  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 → Length.rb} +278 -278
  51. data/lib/sketchup-api-stubs/stubs/{numeric.rb → 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 -157
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
  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 -122
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
  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 -425
  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 -396
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
  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 -405
  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 -327
  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 -112
  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 -318
  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 +1652 -1654
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
  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 -459
  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 -257
  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 -835
  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 -71
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
  143. data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
  144. data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
  145. data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
  146. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
  147. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
  148. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
  149. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
  150. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
  151. data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
  152. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
  153. data/lib/sketchup-api-stubs.rb +1 -1
  154. metadata +20 -16
@@ -1,363 +1,361 @@
1
- # Copyright:: Copyright 2021 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
- # +Enumable+ 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
1
+ # Copyright:: Copyright 2023 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("/path/to/image.png")
146
+ #
147
+ # @param [String] image_filename
148
+ # The image file to use as the background.
149
+ #
150
+ # @param [Sketchup::Camera] camera
151
+ #
152
+ # @param [String] page_name
153
+ #
154
+ # @return [Sketchup::Page]
155
+ #
156
+ # @version SketchUp 7.0
157
+ def add_matchphoto_page(image_filename, camera = nil, page_name = nil)
158
+ end
159
+
160
+ # The add_observer method is used to add an observer to the Pages object.
161
+ # See the PagesObserver interface for more details.
162
+ #
163
+ # @example
164
+ # pages = Sketchup.active_model.pages
165
+ # status = pages.add_observer observer
166
+ #
167
+ # @param observer
168
+ # An observer.
169
+ #
170
+ # @return true if successful, false if unsuccessful.
171
+ #
172
+ # @version SketchUp 6.0
173
+ def add_observer(observer)
174
+ end
175
+
176
+ #
177
+ # @example
178
+ # pages = Sketchup.active_model.pages
179
+ # pages.add('Page 1')
180
+ # pages.add('Page 2')
181
+ # number = pages.count
182
+ #
183
+ # @note Since SketchUp 2014 the count method is inherited from Ruby's
184
+ # +Enumerable+ mix-in module. Prior to that the {#count} method is an alias
185
+ # for {#length}.
186
+ #
187
+ # @return [Integer]
188
+ #
189
+ # @see #length
190
+ #
191
+ # @version SketchUp 6.0
192
+ def count
193
+ end
194
+
195
+ # The {#each} method is used to iterate through pages in the model.
196
+ #
197
+ # @example
198
+ # model = Sketchup.active_model
199
+ # pages = model.pages
200
+ # pages.add("Page 1")
201
+ # pages.add("Page 2")
202
+ # pages.each { |page| puts page.name }
203
+ #
204
+ # @return [nil]
205
+ #
206
+ # @version SketchUp 6.0
207
+ #
208
+ # @yieldparam [Sketchup::Page] page
209
+ def each
210
+ end
211
+
212
+ # The {#erase} method is used to remove a page from the collection.
213
+ #
214
+ # @example
215
+ # page = Sketchup.active_model.pages.add('Hello World')
216
+ # Sketchup.active_model.pages.erase(page)
217
+ #
218
+ # @param [Sketchup::Page] page
219
+ #
220
+ # @return [Boolean]
221
+ #
222
+ # @version SketchUp 6.0
223
+ def erase(page)
224
+ end
225
+
226
+ # The {#length} method is an alias for {#size}.
227
+ #
228
+ # @example
229
+ # pages = Sketchup.active_model.pages
230
+ # pages.add('Page 1')
231
+ # pages.add('Page 2')
232
+ # number = pages.length
233
+ #
234
+ # @return [Integer]
235
+ #
236
+ # @see #size
237
+ #
238
+ # @version SketchUp 2014
239
+ def length
240
+ end
241
+
242
+ # The parent method is used to determine the model for the Pages collection.
243
+ #
244
+ # @example
245
+ # model = Sketchup.active_model
246
+ # pages = model.pages
247
+ # status = pages.add "Page 1"
248
+ # status = pages.add "Page 2"
249
+ # model = pages.parent
250
+ #
251
+ # @return model - the model that contains the pages if successful
252
+ #
253
+ # @version SketchUp 6.0
254
+ def parent
255
+ end
256
+
257
+ # The remove_observer method is used to remove an observer from the current
258
+ # object. See the PagesObserver interface for more details.
259
+ #
260
+ # @example
261
+ # pages = Sketchup.active_model.pages
262
+ # status = pages.remove_observer observer
263
+ #
264
+ # @param observer
265
+ # An observer.
266
+ #
267
+ # @return true if successful, false if unsuccessful.
268
+ #
269
+ # @version SketchUp 6.0
270
+ def remove_observer(observer)
271
+ end
272
+
273
+ # The selected_page method is used to retrieve the currently selected page.
274
+ #
275
+ # @example
276
+ # model = Sketchup.active_model
277
+ # pages = model.pages
278
+ # status = pages.add "Page 1"
279
+ # status = pages.add "Page 2"
280
+ # page = pages.selected_page
281
+ #
282
+ # @return page - the currently selected Page object if successful
283
+ #
284
+ # @version SketchUp 6.0
285
+ def selected_page
286
+ end
287
+
288
+ # The selected_page method is used to set the currently selected page. Once
289
+ # you set this, SketchUp will animate to that page as if the user had clicked
290
+ # on its scene tab.
291
+ #
292
+ # @example
293
+ # model = Sketchup.active_model
294
+ # pages = model.pages
295
+ # status = pages.add "Page 1"
296
+ # status = pages.add "Page 2"
297
+ # pages.selected_page = model.pages[1]
298
+ #
299
+ # @param [Sketchup::Page] page
300
+ #
301
+ # @return status - true if successful
302
+ #
303
+ # @version SketchUp 6.0
304
+ def selected_page=(page)
305
+ end
306
+
307
+ # The {#show_frame_at} method is used to show a frame in animation (of the
308
+ # slide show) at a given time in seconds.
309
+ #
310
+ # @example
311
+ # model = Sketchup.active_model
312
+ # pages = model.pages
313
+ # pages.add("Page 1")
314
+ # pages.add("Page 2")
315
+ # page, ratio = pages.show_frame_at(1.8)
316
+ #
317
+ # @note In versions prior to SketchUp 2019 this method will crash if called
318
+ # when there are no pages in the model.
319
+ #
320
+ # @param [Float] seconds
321
+ # The time in seconds.
322
+ #
323
+ # @return [Array(Sketchup::Page, Float), nil] Upon success it returns the
324
+ # page that is displayed and a parameter between +0.0+ and +1.0+ that is
325
+ # tells how far along the transition to next page you are at.
326
+ #
327
+ # @version SketchUp 6.0
328
+ def show_frame_at(seconds)
329
+ end
330
+
331
+ # The {#size} method is used to retrieve the number of pages.
332
+ #
333
+ # @example
334
+ # pages = Sketchup.active_model.pages
335
+ # pages.add('Page 1')
336
+ # pages.add('Page 2')
337
+ # number = pages.size
338
+ #
339
+ # @return [Integer]
340
+ #
341
+ # @see #length
342
+ #
343
+ # @version SketchUp 6.0
344
+ def size
345
+ end
346
+
347
+ # The slideshow_time method is used to get the amount of time that a slideshow
348
+ # of all of the pages will take. This takes into account the transition time
349
+ # for each Page and the amount of time that each Page is displayed.
350
+ #
351
+ # @example
352
+ # pages = Sketchup.active_model.pages
353
+ # time = pages.slideshow_time
354
+ #
355
+ # @return status - true if successful
356
+ #
357
+ # @version SketchUp 6.0
358
+ def slideshow_time
359
+ end
360
+
361
+ end