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.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs/sketchup.rb +151 -147
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +509 -509
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +476 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
- data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -351
- data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +747 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -179
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +517 -515
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -0
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
- data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -144
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +150 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +281 -286
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -302
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +659 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -594
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +449 -425
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +406 -396
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -502
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1239 -1126
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -545
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -126
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -917
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +282 -292
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -468
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +406 -405
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -306
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -327
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -422
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -427
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -414
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +317 -318
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1652 -1654
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -357
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +130 -131
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +490 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +116 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -797
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +361 -363
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +361 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +458 -459
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +255 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -217
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +834 -835
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -71
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1311 -1307
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -45
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1377 -1353
- data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
- data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -317
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +494 -478
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -269
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +241 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -672
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +20 -16
@@ -1,209 +1,209 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# The Pages class is a container class for all pages in a {Layout::Document}.
|
5
|
-
#
|
6
|
-
# @example
|
7
|
-
# # Grab a handle to an existing LayOut document's pages.
|
8
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
9
|
-
# pages = doc.pages
|
10
|
-
#
|
11
|
-
# # From here, we can add pages to or remove them from the document
|
12
|
-
# pages.add("New Page")
|
13
|
-
# pages.remove(pages[0])
|
14
|
-
#
|
15
|
-
# @version LayOut 2018
|
16
|
-
class Layout::Pages
|
17
|
-
|
18
|
-
# Includes
|
19
|
-
|
20
|
-
include Enumerable
|
21
|
-
|
22
|
-
# Instance Methods
|
23
|
-
|
24
|
-
# The {#[]} method returns a value from the array of {Layout::Page}s.
|
25
|
-
#
|
26
|
-
# @example
|
27
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
28
|
-
# pages = doc.pages
|
29
|
-
# page = pages[2]
|
30
|
-
#
|
31
|
-
# @param [Integer] index
|
32
|
-
# The index of the {Layout::Page} to return.
|
33
|
-
#
|
34
|
-
# @raise [IndexError] if index is out of range
|
35
|
-
#
|
36
|
-
# @return [Layout::Page]
|
37
|
-
#
|
38
|
-
# @version LayOut 2018
|
39
|
-
def [](index)
|
40
|
-
end
|
41
|
-
|
42
|
-
# The {#add} method adds a new {Layout::Page} to the {Layout::Document}.
|
43
|
-
# The newly added {Layout::Page} will be the last one in the {Layout::Document}.
|
44
|
-
#
|
45
|
-
# @example
|
46
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
-
# pages = doc.pages
|
48
|
-
# new_page =
|
49
|
-
#
|
50
|
-
# @param [String] name
|
51
|
-
# The name for the new page.
|
52
|
-
#
|
53
|
-
# @return [Layout::Page] The newly added {Layout::Page}.
|
54
|
-
#
|
55
|
-
# @version LayOut 2018
|
56
|
-
def add(name = nil)
|
57
|
-
end
|
58
|
-
|
59
|
-
# The {#each} method iterates through all of the {Layout::Page}s.
|
60
|
-
#
|
61
|
-
# @example
|
62
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
63
|
-
# pages = doc.pages
|
64
|
-
# pages.each { |page|
|
65
|
-
# puts page.name
|
66
|
-
# }
|
67
|
-
#
|
68
|
-
# @note Don't remove content from this collection while iterating over it with
|
69
|
-
# {#each}. This would change the size of the collection and cause elements to
|
70
|
-
# be skipped as the indices change. Instead copy the current collection to an
|
71
|
-
# array using +to_a+ and then use +each+ on the array, when removing content.
|
72
|
-
#
|
73
|
-
# @version LayOut 2018
|
74
|
-
#
|
75
|
-
# @yieldparam [Layout::Page] page
|
76
|
-
def each
|
77
|
-
end
|
78
|
-
|
79
|
-
# The {#index} method returns the index of the {Layout::Page}, or +nil+ if
|
80
|
-
# it doesn't exist in the {Layout::Document}.
|
81
|
-
#
|
82
|
-
# @example
|
83
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
84
|
-
# pages = doc.pages
|
85
|
-
# page_index = pages.index(pages.first) # Returns 0
|
86
|
-
#
|
87
|
-
# @param [Layout::Page] page
|
88
|
-
#
|
89
|
-
# @return [Integer, nil]
|
90
|
-
#
|
91
|
-
# @version LayOut 2018
|
92
|
-
def index(page)
|
93
|
-
end
|
94
|
-
|
95
|
-
# The {#initial} method returns the initial {Layout::Page} that will be
|
96
|
-
# displayed the next time the {Layout::Document} is opened. This value will
|
97
|
-
# change whenever the {Layout::Page} is changed in the {Layout::Document} in
|
98
|
-
# LayOut.
|
99
|
-
#
|
100
|
-
# @example
|
101
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
102
|
-
# pages = doc.pages
|
103
|
-
# page = pages.initial
|
104
|
-
#
|
105
|
-
# @return [Layout::Page]
|
106
|
-
#
|
107
|
-
# @version LayOut 2018
|
108
|
-
def initial
|
109
|
-
end
|
110
|
-
|
111
|
-
# The {#initial=} method sets the initial {Layout::Page} that will be
|
112
|
-
# displayed the next time the {Layout::Document} is opened. This value will
|
113
|
-
# change whenever the {Layout::Page} is changed in the {Layout::Document} in
|
114
|
-
# LayOut.
|
115
|
-
#
|
116
|
-
# @example
|
117
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
118
|
-
# pages = doc.pages
|
119
|
-
# pages.initial = doc.pages[0]
|
120
|
-
#
|
121
|
-
# @overload initial=(page)
|
122
|
-
#
|
123
|
-
# @param [Layout::Page] page The {Layout::Page} to set as the initial one
|
124
|
-
#
|
125
|
-
# @raise [ArgumentError] if page does not belong to the {Layout::Document}
|
126
|
-
#
|
127
|
-
# @overload initial=(index)
|
128
|
-
#
|
129
|
-
# @param [Integer] index The index of the {Layout::Page} to set as the
|
130
|
-
# initial one
|
131
|
-
#
|
132
|
-
# @raise [IndexError] if index is out of range
|
133
|
-
#
|
134
|
-
# @version LayOut 2018
|
135
|
-
def initial=(page)
|
136
|
-
end
|
137
|
-
|
138
|
-
# The {#length} method returns the number of {Layout::Page}s.
|
139
|
-
#
|
140
|
-
# @example
|
141
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
142
|
-
# pages = doc.pages
|
143
|
-
# num_pages = pages.length
|
144
|
-
#
|
145
|
-
# @return [Integer]
|
146
|
-
#
|
147
|
-
# @version LayOut 2018
|
148
|
-
def length
|
149
|
-
end
|
150
|
-
alias_method :size, :length
|
151
|
-
|
152
|
-
# The {#remove} method deletes the given {Layout::Page} from the
|
153
|
-
# {Layout::Document}.
|
154
|
-
#
|
155
|
-
# @example
|
156
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
157
|
-
# pages = doc.pages
|
158
|
-
# pages.remove(pages[0])
|
159
|
-
#
|
160
|
-
# @overload remove(page)
|
161
|
-
#
|
162
|
-
# @param [Layout::Page] page The {Layout::Page} to be removed
|
163
|
-
#
|
164
|
-
# @raise [ArgumentError] if the {Layout::Page} is not in the
|
165
|
-
# {Layout::Document}
|
166
|
-
# @raise [ArgumentError] if the {Layout::Page} is the only one in the
|
167
|
-
# {Layout::Document}
|
168
|
-
#
|
169
|
-
# @overload remove(index)
|
170
|
-
#
|
171
|
-
# @param [Integer] index The index of the {Layout::Page} to be removed
|
172
|
-
#
|
173
|
-
# @raise [ArgumentError] if the {Layout::Page} is the only one in the
|
174
|
-
# {Layout::Document}
|
175
|
-
# @raise [IndexError] if index is out of range
|
176
|
-
#
|
177
|
-
# @version LayOut 2018
|
178
|
-
def remove(page)
|
179
|
-
end
|
180
|
-
|
181
|
-
# The {#reorder} method moves a {Layout::Page} to a different index within
|
182
|
-
# the {Layout::Document}'s list of pages. This will move the {Layout::Page}
|
183
|
-
# such that its new index becomes new_index.
|
184
|
-
#
|
185
|
-
# @example
|
186
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
187
|
-
# pages = doc.pages
|
188
|
-
# pages.reorder(pages[1], 3)
|
189
|
-
#
|
190
|
-
# @overload reorder(page, new_index)
|
191
|
-
#
|
192
|
-
# @param [Layout::Page] page The {Layout::Page} to be reordered
|
193
|
-
# @param [Integer] new_index The index to put the {Layout::Page} at
|
194
|
-
#
|
195
|
-
# @raise [ArgumentError] if the {Layout::Page} is not in the {Layout::Document}
|
196
|
-
# @raise [IndexError] if new_index is out of range
|
197
|
-
#
|
198
|
-
# @overload reorder(index, new_index)
|
199
|
-
#
|
200
|
-
# @param [Integer] index The index of the {Layout::Page} to be reordered
|
201
|
-
# @param [Integer] new_index The index to put the {Layout::Page} at
|
202
|
-
#
|
203
|
-
# @raise [IndexError] if index or new_index is out of range
|
204
|
-
#
|
205
|
-
# @version LayOut 2018
|
206
|
-
def reorder(page, new_index)
|
207
|
-
end
|
208
|
-
|
209
|
-
end
|
1
|
+
# Copyright:: Copyright 2023 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# The Pages class is a container class for all pages in a {Layout::Document}.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# # Grab a handle to an existing LayOut document's pages.
|
8
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
9
|
+
# pages = doc.pages
|
10
|
+
#
|
11
|
+
# # From here, we can add pages to or remove them from the document
|
12
|
+
# pages.add("New Page")
|
13
|
+
# pages.remove(pages[0])
|
14
|
+
#
|
15
|
+
# @version LayOut 2018
|
16
|
+
class Layout::Pages
|
17
|
+
|
18
|
+
# Includes
|
19
|
+
|
20
|
+
include Enumerable
|
21
|
+
|
22
|
+
# Instance Methods
|
23
|
+
|
24
|
+
# The {#[]} method returns a value from the array of {Layout::Page}s.
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
28
|
+
# pages = doc.pages
|
29
|
+
# page = pages[2]
|
30
|
+
#
|
31
|
+
# @param [Integer] index
|
32
|
+
# The index of the {Layout::Page} to return.
|
33
|
+
#
|
34
|
+
# @raise [IndexError] if index is out of range
|
35
|
+
#
|
36
|
+
# @return [Layout::Page]
|
37
|
+
#
|
38
|
+
# @version LayOut 2018
|
39
|
+
def [](index)
|
40
|
+
end
|
41
|
+
|
42
|
+
# The {#add} method adds a new {Layout::Page} to the {Layout::Document}.
|
43
|
+
# The newly added {Layout::Page} will be the last one in the {Layout::Document}.
|
44
|
+
#
|
45
|
+
# @example
|
46
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
47
|
+
# pages = doc.pages
|
48
|
+
# new_page = pages.add
|
49
|
+
#
|
50
|
+
# @param [String] name
|
51
|
+
# The name for the new page.
|
52
|
+
#
|
53
|
+
# @return [Layout::Page] The newly added {Layout::Page}.
|
54
|
+
#
|
55
|
+
# @version LayOut 2018
|
56
|
+
def add(name = nil)
|
57
|
+
end
|
58
|
+
|
59
|
+
# The {#each} method iterates through all of the {Layout::Page}s.
|
60
|
+
#
|
61
|
+
# @example
|
62
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
63
|
+
# pages = doc.pages
|
64
|
+
# pages.each { |page|
|
65
|
+
# puts page.name
|
66
|
+
# }
|
67
|
+
#
|
68
|
+
# @note Don't remove content from this collection while iterating over it with
|
69
|
+
# {#each}. This would change the size of the collection and cause elements to
|
70
|
+
# be skipped as the indices change. Instead copy the current collection to an
|
71
|
+
# array using +to_a+ and then use +each+ on the array, when removing content.
|
72
|
+
#
|
73
|
+
# @version LayOut 2018
|
74
|
+
#
|
75
|
+
# @yieldparam [Layout::Page] page
|
76
|
+
def each
|
77
|
+
end
|
78
|
+
|
79
|
+
# The {#index} method returns the index of the {Layout::Page}, or +nil+ if
|
80
|
+
# it doesn't exist in the {Layout::Document}.
|
81
|
+
#
|
82
|
+
# @example
|
83
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
84
|
+
# pages = doc.pages
|
85
|
+
# page_index = pages.index(pages.first) # Returns 0
|
86
|
+
#
|
87
|
+
# @param [Layout::Page] page
|
88
|
+
#
|
89
|
+
# @return [Integer, nil]
|
90
|
+
#
|
91
|
+
# @version LayOut 2018
|
92
|
+
def index(page)
|
93
|
+
end
|
94
|
+
|
95
|
+
# The {#initial} method returns the initial {Layout::Page} that will be
|
96
|
+
# displayed the next time the {Layout::Document} is opened. This value will
|
97
|
+
# change whenever the {Layout::Page} is changed in the {Layout::Document} in
|
98
|
+
# LayOut.
|
99
|
+
#
|
100
|
+
# @example
|
101
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
102
|
+
# pages = doc.pages
|
103
|
+
# page = pages.initial
|
104
|
+
#
|
105
|
+
# @return [Layout::Page]
|
106
|
+
#
|
107
|
+
# @version LayOut 2018
|
108
|
+
def initial
|
109
|
+
end
|
110
|
+
|
111
|
+
# The {#initial=} method sets the initial {Layout::Page} that will be
|
112
|
+
# displayed the next time the {Layout::Document} is opened. This value will
|
113
|
+
# change whenever the {Layout::Page} is changed in the {Layout::Document} in
|
114
|
+
# LayOut.
|
115
|
+
#
|
116
|
+
# @example
|
117
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
118
|
+
# pages = doc.pages
|
119
|
+
# pages.initial = doc.pages[0]
|
120
|
+
#
|
121
|
+
# @overload initial=(page)
|
122
|
+
#
|
123
|
+
# @param [Layout::Page] page The {Layout::Page} to set as the initial one
|
124
|
+
#
|
125
|
+
# @raise [ArgumentError] if page does not belong to the {Layout::Document}
|
126
|
+
#
|
127
|
+
# @overload initial=(index)
|
128
|
+
#
|
129
|
+
# @param [Integer] index The index of the {Layout::Page} to set as the
|
130
|
+
# initial one
|
131
|
+
#
|
132
|
+
# @raise [IndexError] if index is out of range
|
133
|
+
#
|
134
|
+
# @version LayOut 2018
|
135
|
+
def initial=(page)
|
136
|
+
end
|
137
|
+
|
138
|
+
# The {#length} method returns the number of {Layout::Page}s.
|
139
|
+
#
|
140
|
+
# @example
|
141
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
142
|
+
# pages = doc.pages
|
143
|
+
# num_pages = pages.length
|
144
|
+
#
|
145
|
+
# @return [Integer]
|
146
|
+
#
|
147
|
+
# @version LayOut 2018
|
148
|
+
def length
|
149
|
+
end
|
150
|
+
alias_method :size, :length
|
151
|
+
|
152
|
+
# The {#remove} method deletes the given {Layout::Page} from the
|
153
|
+
# {Layout::Document}.
|
154
|
+
#
|
155
|
+
# @example
|
156
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
157
|
+
# pages = doc.pages
|
158
|
+
# pages.remove(pages[0])
|
159
|
+
#
|
160
|
+
# @overload remove(page)
|
161
|
+
#
|
162
|
+
# @param [Layout::Page] page The {Layout::Page} to be removed
|
163
|
+
#
|
164
|
+
# @raise [ArgumentError] if the {Layout::Page} is not in the
|
165
|
+
# {Layout::Document}
|
166
|
+
# @raise [ArgumentError] if the {Layout::Page} is the only one in the
|
167
|
+
# {Layout::Document}
|
168
|
+
#
|
169
|
+
# @overload remove(index)
|
170
|
+
#
|
171
|
+
# @param [Integer] index The index of the {Layout::Page} to be removed
|
172
|
+
#
|
173
|
+
# @raise [ArgumentError] if the {Layout::Page} is the only one in the
|
174
|
+
# {Layout::Document}
|
175
|
+
# @raise [IndexError] if index is out of range
|
176
|
+
#
|
177
|
+
# @version LayOut 2018
|
178
|
+
def remove(page)
|
179
|
+
end
|
180
|
+
|
181
|
+
# The {#reorder} method moves a {Layout::Page} to a different index within
|
182
|
+
# the {Layout::Document}'s list of pages. This will move the {Layout::Page}
|
183
|
+
# such that its new index becomes new_index.
|
184
|
+
#
|
185
|
+
# @example
|
186
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
187
|
+
# pages = doc.pages
|
188
|
+
# pages.reorder(pages[1], 3)
|
189
|
+
#
|
190
|
+
# @overload reorder(page, new_index)
|
191
|
+
#
|
192
|
+
# @param [Layout::Page] page The {Layout::Page} to be reordered
|
193
|
+
# @param [Integer] new_index The index to put the {Layout::Page} at
|
194
|
+
#
|
195
|
+
# @raise [ArgumentError] if the {Layout::Page} is not in the {Layout::Document}
|
196
|
+
# @raise [IndexError] if new_index is out of range
|
197
|
+
#
|
198
|
+
# @overload reorder(index, new_index)
|
199
|
+
#
|
200
|
+
# @param [Integer] index The index of the {Layout::Page} to be reordered
|
201
|
+
# @param [Integer] new_index The index to put the {Layout::Page} at
|
202
|
+
#
|
203
|
+
# @raise [IndexError] if index or new_index is out of range
|
204
|
+
#
|
205
|
+
# @version LayOut 2018
|
206
|
+
def reorder(page, new_index)
|
207
|
+
end
|
208
|
+
|
209
|
+
end
|