sketchup-api-stubs 0.7.4 → 0.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/sketchup-api-stubs/sketchup.rb +148 -145
- data/lib/sketchup-api-stubs/stubs/{array.rb → Array.rb} +741 -741
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -318
- data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +172 -172
- data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +126 -126
- data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +400 -400
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +523 -492
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +478 -478
- data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +263 -263
- data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +522 -522
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +693 -691
- data/lib/sketchup-api-stubs/stubs/{geom.rb → Geom.rb} +351 -348
- data/lib/sketchup-api-stubs/stubs/{languagehandler.rb → LanguageHandler.rb} +93 -92
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -573
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +698 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -174
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +516 -514
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -143
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -371
- data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
- data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
- data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -220
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -567
- data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
- data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
- data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +183 -183
- data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +387 -387
- data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -204
- data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +344 -344
- data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
- data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +692 -694
- data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1519 -1519
- data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
- data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
- data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/{length.rb → Length.rb} +278 -278
- data/lib/sketchup-api-stubs/stubs/{numeric.rb → Numeric.rb} +249 -249
- data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +144 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -157
- data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +209 -209
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +152 -152
- data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +286 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +302 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +478 -577
- data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
- data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +122 -122
- data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +619 -562
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +593 -593
- data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
- data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +426 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +396 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +502 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1205 -1119
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +272 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +545 -544
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +126 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +937 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +750 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +292 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +468 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +407 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +306 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +326 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +422 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +427 -244
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +249 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -112
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +414 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +318 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1651 -1638
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +357 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +131 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -284
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +797 -770
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +363 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +477 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -364
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +459 -454
- data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
- data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +212 -212
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +260 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -0
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +217 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +217 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +837 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1317 -1301
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +45 -43
- data/lib/sketchup-api-stubs/stubs/{sketchup.rb → Sketchup.rb} +1360 -1310
- data/lib/sketchup-api-stubs/stubs/{sketchupextension.rb → SketchupExtension.rb} +353 -353
- data/lib/sketchup-api-stubs/stubs/{string.rb → String.rb} +24 -24
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +389 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +496 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +269 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +635 -633
- data/lib/sketchup-api-stubs/stubs/{ui.rb → UI.rb} +683 -667
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -311
- data/lib/sketchup-api-stubs.rb +1 -1
- metadata +15 -12
@@ -1,290 +1,290 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# A {Layout::Table} is a series of rows and columns that holds data.
|
5
|
-
#
|
6
|
-
# @example
|
7
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
8
|
-
# rows = 4
|
9
|
-
# columns = 4
|
10
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
11
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
12
|
-
# doc.add_entity(table, doc.layers.first, doc.pages.first)
|
13
|
-
# anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
|
14
|
-
# start_point = Geom::Point2d.new(1, 1)
|
15
|
-
# text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
|
16
|
-
# table[1, 1].data = text
|
17
|
-
#
|
18
|
-
# @version LayOut 2018
|
19
|
-
class Layout::Table < Layout::Entity
|
20
|
-
|
21
|
-
# Includes
|
22
|
-
|
23
|
-
include Enumerable
|
24
|
-
|
25
|
-
# Instance Methods
|
26
|
-
|
27
|
-
# The {#[]} method returns the {Layout::TableCell} at the specified row and
|
28
|
-
# column.
|
29
|
-
#
|
30
|
-
# @example
|
31
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
32
|
-
# rows = 4
|
33
|
-
# columns = 4
|
34
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
35
|
-
# cell = table[1, 2]
|
36
|
-
#
|
37
|
-
# @param [Integer] row_index
|
38
|
-
#
|
39
|
-
# @param [Integer] column_index
|
40
|
-
#
|
41
|
-
# @raise [IndexError] if row_index or column_index are not a valid indices
|
42
|
-
# for the {Layout::Table}
|
43
|
-
#
|
44
|
-
# @return [Layout::TableCell]
|
45
|
-
#
|
46
|
-
# @version LayOut 2018
|
47
|
-
def [](row_index, column_index)
|
48
|
-
end
|
49
|
-
|
50
|
-
# The {#dimensions} method returns the number of rows and columns in a
|
51
|
-
# {Layout::Table}.
|
52
|
-
#
|
53
|
-
# @example
|
54
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
55
|
-
# rows = 4
|
56
|
-
# columns = 4
|
57
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
58
|
-
# r, c = table.dimensions
|
59
|
-
#
|
60
|
-
# @return [Array(Integer, Integer)] The first value is the number of rows; the
|
61
|
-
# second, the number of columns.
|
62
|
-
#
|
63
|
-
# @version LayOut 2018
|
64
|
-
def dimensions
|
65
|
-
end
|
66
|
-
|
67
|
-
# The {#each} method iterates in column major order through all of the cells
|
68
|
-
# in the {Layout::Table}.
|
69
|
-
#
|
70
|
-
# @example
|
71
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
72
|
-
# rows = 4
|
73
|
-
# columns = 4
|
74
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
75
|
-
# table.each { |cell|
|
76
|
-
# puts cell.data.plain_text
|
77
|
-
# }
|
78
|
-
#
|
79
|
-
# @version LayOut 2018
|
80
|
-
#
|
81
|
-
# @yieldparam [Layout::TableCell] cell
|
82
|
-
def each
|
83
|
-
end
|
84
|
-
|
85
|
-
# The {#entities} method creates and returns the {Layout::Entities} that
|
86
|
-
# represent the {Layout::Table} in its exploded form.
|
87
|
-
#
|
88
|
-
# @example
|
89
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
90
|
-
# rows = 4
|
91
|
-
# columns = 4
|
92
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
93
|
-
# entities = table.entities
|
94
|
-
#
|
95
|
-
# @return [Layout::Entities]
|
96
|
-
#
|
97
|
-
# @version LayOut 2018
|
98
|
-
def entities
|
99
|
-
end
|
100
|
-
|
101
|
-
# The {#get_column} method returns the {Layout::TableColumn} at the specified
|
102
|
-
# index.
|
103
|
-
#
|
104
|
-
# @example
|
105
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
106
|
-
# rows = 4
|
107
|
-
# columns = 4
|
108
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
109
|
-
# table_column = table.get_column(2)
|
110
|
-
#
|
111
|
-
# @param [Integer] index
|
112
|
-
#
|
113
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
114
|
-
#
|
115
|
-
# @return [Layout::TableColumn]
|
116
|
-
#
|
117
|
-
# @version LayOut 2018
|
118
|
-
def get_column(index)
|
119
|
-
end
|
120
|
-
|
121
|
-
# The {#get_row} method returns the {Layout::TableRow} at the specified index.
|
122
|
-
#
|
123
|
-
# @example
|
124
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
125
|
-
# rows = 4
|
126
|
-
# columns = 4
|
127
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
128
|
-
# table_row = table.get_row(2)
|
129
|
-
#
|
130
|
-
# @param [Integer] index
|
131
|
-
#
|
132
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
133
|
-
#
|
134
|
-
# @return [Layout::TableRow]
|
135
|
-
#
|
136
|
-
# @version LayOut 2018
|
137
|
-
def get_row(index)
|
138
|
-
end
|
139
|
-
|
140
|
-
# The {#initialize} method creates a {Layout::Table} with a specified size, and
|
141
|
-
# a specified number of rows and columns.
|
142
|
-
#
|
143
|
-
# @example
|
144
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
145
|
-
# rows = 4
|
146
|
-
# columns = 4
|
147
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
148
|
-
#
|
149
|
-
# @param [Geom::Bounds2d] bounds
|
150
|
-
#
|
151
|
-
# @param [Integer] rows
|
152
|
-
#
|
153
|
-
# @param [Integer] columns
|
154
|
-
#
|
155
|
-
# @raise [ArgumentError] if rows is less than 1
|
156
|
-
#
|
157
|
-
# @raise [ArgumentError] if columns is less than 1
|
158
|
-
#
|
159
|
-
# @raise [ArgumentError] if bounds is zero size
|
160
|
-
#
|
161
|
-
# @return [Layout::Table]
|
162
|
-
#
|
163
|
-
# @version LayOut 2018
|
164
|
-
def initialize(bounds, rows, columns)
|
165
|
-
end
|
166
|
-
|
167
|
-
# The {#insert_column} method inserts a new column at the specified index.
|
168
|
-
#
|
169
|
-
# @example
|
170
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
171
|
-
# rows = 4
|
172
|
-
# columns = 4
|
173
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
174
|
-
# table.insert_column(2)
|
175
|
-
#
|
176
|
-
# @param [Integer] index
|
177
|
-
#
|
178
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
179
|
-
#
|
180
|
-
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
181
|
-
# {Layout::Layer}
|
182
|
-
#
|
183
|
-
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
184
|
-
#
|
185
|
-
# @version LayOut 2018
|
186
|
-
def insert_column(index)
|
187
|
-
end
|
188
|
-
|
189
|
-
# The {#insert_row} method inserts a new row at the specified index.
|
190
|
-
#
|
191
|
-
# @example
|
192
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
193
|
-
# rows = 4
|
194
|
-
# columns = 4
|
195
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
196
|
-
# table.insert_row(2)
|
197
|
-
#
|
198
|
-
# @param [Integer] index
|
199
|
-
#
|
200
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
201
|
-
#
|
202
|
-
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
203
|
-
# {Layout::Layer}
|
204
|
-
#
|
205
|
-
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
206
|
-
#
|
207
|
-
# @version LayOut 2018
|
208
|
-
def insert_row(index)
|
209
|
-
end
|
210
|
-
|
211
|
-
# The {#merge} method merges a range of cells within a {Layout::Table}. Only
|
212
|
-
# cells which are not already merged can be merged.
|
213
|
-
#
|
214
|
-
# @example
|
215
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
216
|
-
# rows = 4
|
217
|
-
# columns = 4
|
218
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
219
|
-
# table.merge(1, 1, 2, 2)
|
220
|
-
#
|
221
|
-
# @param [Integer] start_row
|
222
|
-
#
|
223
|
-
# @param [Integer] start_column
|
224
|
-
#
|
225
|
-
# @param [Integer] end_row
|
226
|
-
#
|
227
|
-
# @param [Integer] end_column
|
228
|
-
#
|
229
|
-
# @raise [IndexError] if the passed in indices are not a valid for the
|
230
|
-
# {Layout::Table}
|
231
|
-
#
|
232
|
-
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
233
|
-
# {Layout::Layer}
|
234
|
-
#
|
235
|
-
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
236
|
-
#
|
237
|
-
# @raise [ArgumentError] if the specified range of cells only spans a single
|
238
|
-
# cell
|
239
|
-
#
|
240
|
-
# @raise [ArgumentError] if the specified range of cells contains a merged cell
|
241
|
-
#
|
242
|
-
# @version LayOut 2018
|
243
|
-
def merge(start_row, start_column, end_row, end_column)
|
244
|
-
end
|
245
|
-
|
246
|
-
# The {#remove_column} method removes the column at the specified index.
|
247
|
-
#
|
248
|
-
# @example
|
249
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
250
|
-
# rows = 4
|
251
|
-
# columns = 4
|
252
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
253
|
-
# table.remove_column(2)
|
254
|
-
#
|
255
|
-
# @param [Integer] index
|
256
|
-
#
|
257
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
258
|
-
#
|
259
|
-
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
260
|
-
# {Layout::Layer}
|
261
|
-
#
|
262
|
-
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
263
|
-
#
|
264
|
-
# @version LayOut 2018
|
265
|
-
def remove_column(index)
|
266
|
-
end
|
267
|
-
|
268
|
-
# The {#remove_row} method removes the row at the specified index.
|
269
|
-
#
|
270
|
-
# @example
|
271
|
-
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
272
|
-
# rows = 4
|
273
|
-
# columns = 4
|
274
|
-
# table = Layout::Table.new(bounds, rows, columns)
|
275
|
-
# table.remove_row(2)
|
276
|
-
#
|
277
|
-
# @param [Integer] index
|
278
|
-
#
|
279
|
-
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
280
|
-
#
|
281
|
-
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
282
|
-
# {Layout::Layer}
|
283
|
-
#
|
284
|
-
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
285
|
-
#
|
286
|
-
# @version LayOut 2018
|
287
|
-
def remove_row(index)
|
288
|
-
end
|
289
|
-
|
290
|
-
end
|
1
|
+
# Copyright:: Copyright 2022 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# A {Layout::Table} is a series of rows and columns that holds data.
|
5
|
+
#
|
6
|
+
# @example
|
7
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
8
|
+
# rows = 4
|
9
|
+
# columns = 4
|
10
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
11
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
12
|
+
# doc.add_entity(table, doc.layers.first, doc.pages.first)
|
13
|
+
# anchor_type = Layout::FormattedText::ANCHOR_TYPE_TOP_LEFT
|
14
|
+
# start_point = Geom::Point2d.new(1, 1)
|
15
|
+
# text = Layout::FormattedText.new("Hello LayOut", start_point, anchor_type)
|
16
|
+
# table[1, 1].data = text
|
17
|
+
#
|
18
|
+
# @version LayOut 2018
|
19
|
+
class Layout::Table < Layout::Entity
|
20
|
+
|
21
|
+
# Includes
|
22
|
+
|
23
|
+
include Enumerable
|
24
|
+
|
25
|
+
# Instance Methods
|
26
|
+
|
27
|
+
# The {#[]} method returns the {Layout::TableCell} at the specified row and
|
28
|
+
# column.
|
29
|
+
#
|
30
|
+
# @example
|
31
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
32
|
+
# rows = 4
|
33
|
+
# columns = 4
|
34
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
35
|
+
# cell = table[1, 2]
|
36
|
+
#
|
37
|
+
# @param [Integer] row_index
|
38
|
+
#
|
39
|
+
# @param [Integer] column_index
|
40
|
+
#
|
41
|
+
# @raise [IndexError] if row_index or column_index are not a valid indices
|
42
|
+
# for the {Layout::Table}
|
43
|
+
#
|
44
|
+
# @return [Layout::TableCell]
|
45
|
+
#
|
46
|
+
# @version LayOut 2018
|
47
|
+
def [](row_index, column_index)
|
48
|
+
end
|
49
|
+
|
50
|
+
# The {#dimensions} method returns the number of rows and columns in a
|
51
|
+
# {Layout::Table}.
|
52
|
+
#
|
53
|
+
# @example
|
54
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
55
|
+
# rows = 4
|
56
|
+
# columns = 4
|
57
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
58
|
+
# r, c = table.dimensions
|
59
|
+
#
|
60
|
+
# @return [Array(Integer, Integer)] The first value is the number of rows; the
|
61
|
+
# second, the number of columns.
|
62
|
+
#
|
63
|
+
# @version LayOut 2018
|
64
|
+
def dimensions
|
65
|
+
end
|
66
|
+
|
67
|
+
# The {#each} method iterates in column major order through all of the cells
|
68
|
+
# in the {Layout::Table}.
|
69
|
+
#
|
70
|
+
# @example
|
71
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
72
|
+
# rows = 4
|
73
|
+
# columns = 4
|
74
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
75
|
+
# table.each { |cell|
|
76
|
+
# puts cell.data.plain_text
|
77
|
+
# }
|
78
|
+
#
|
79
|
+
# @version LayOut 2018
|
80
|
+
#
|
81
|
+
# @yieldparam [Layout::TableCell] cell
|
82
|
+
def each
|
83
|
+
end
|
84
|
+
|
85
|
+
# The {#entities} method creates and returns the {Layout::Entities} that
|
86
|
+
# represent the {Layout::Table} in its exploded form.
|
87
|
+
#
|
88
|
+
# @example
|
89
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
90
|
+
# rows = 4
|
91
|
+
# columns = 4
|
92
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
93
|
+
# entities = table.entities
|
94
|
+
#
|
95
|
+
# @return [Layout::Entities]
|
96
|
+
#
|
97
|
+
# @version LayOut 2018
|
98
|
+
def entities
|
99
|
+
end
|
100
|
+
|
101
|
+
# The {#get_column} method returns the {Layout::TableColumn} at the specified
|
102
|
+
# index.
|
103
|
+
#
|
104
|
+
# @example
|
105
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
106
|
+
# rows = 4
|
107
|
+
# columns = 4
|
108
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
109
|
+
# table_column = table.get_column(2)
|
110
|
+
#
|
111
|
+
# @param [Integer] index
|
112
|
+
#
|
113
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
114
|
+
#
|
115
|
+
# @return [Layout::TableColumn]
|
116
|
+
#
|
117
|
+
# @version LayOut 2018
|
118
|
+
def get_column(index)
|
119
|
+
end
|
120
|
+
|
121
|
+
# The {#get_row} method returns the {Layout::TableRow} at the specified index.
|
122
|
+
#
|
123
|
+
# @example
|
124
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
125
|
+
# rows = 4
|
126
|
+
# columns = 4
|
127
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
128
|
+
# table_row = table.get_row(2)
|
129
|
+
#
|
130
|
+
# @param [Integer] index
|
131
|
+
#
|
132
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
133
|
+
#
|
134
|
+
# @return [Layout::TableRow]
|
135
|
+
#
|
136
|
+
# @version LayOut 2018
|
137
|
+
def get_row(index)
|
138
|
+
end
|
139
|
+
|
140
|
+
# The {#initialize} method creates a {Layout::Table} with a specified size, and
|
141
|
+
# a specified number of rows and columns.
|
142
|
+
#
|
143
|
+
# @example
|
144
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
145
|
+
# rows = 4
|
146
|
+
# columns = 4
|
147
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
148
|
+
#
|
149
|
+
# @param [Geom::Bounds2d] bounds
|
150
|
+
#
|
151
|
+
# @param [Integer] rows
|
152
|
+
#
|
153
|
+
# @param [Integer] columns
|
154
|
+
#
|
155
|
+
# @raise [ArgumentError] if rows is less than 1
|
156
|
+
#
|
157
|
+
# @raise [ArgumentError] if columns is less than 1
|
158
|
+
#
|
159
|
+
# @raise [ArgumentError] if bounds is zero size
|
160
|
+
#
|
161
|
+
# @return [Layout::Table]
|
162
|
+
#
|
163
|
+
# @version LayOut 2018
|
164
|
+
def initialize(bounds, rows, columns)
|
165
|
+
end
|
166
|
+
|
167
|
+
# The {#insert_column} method inserts a new column at the specified index.
|
168
|
+
#
|
169
|
+
# @example
|
170
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
171
|
+
# rows = 4
|
172
|
+
# columns = 4
|
173
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
174
|
+
# table.insert_column(2)
|
175
|
+
#
|
176
|
+
# @param [Integer] index
|
177
|
+
#
|
178
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
179
|
+
#
|
180
|
+
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
181
|
+
# {Layout::Layer}
|
182
|
+
#
|
183
|
+
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
184
|
+
#
|
185
|
+
# @version LayOut 2018
|
186
|
+
def insert_column(index)
|
187
|
+
end
|
188
|
+
|
189
|
+
# The {#insert_row} method inserts a new row at the specified index.
|
190
|
+
#
|
191
|
+
# @example
|
192
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
193
|
+
# rows = 4
|
194
|
+
# columns = 4
|
195
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
196
|
+
# table.insert_row(2)
|
197
|
+
#
|
198
|
+
# @param [Integer] index
|
199
|
+
#
|
200
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
201
|
+
#
|
202
|
+
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
203
|
+
# {Layout::Layer}
|
204
|
+
#
|
205
|
+
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
206
|
+
#
|
207
|
+
# @version LayOut 2018
|
208
|
+
def insert_row(index)
|
209
|
+
end
|
210
|
+
|
211
|
+
# The {#merge} method merges a range of cells within a {Layout::Table}. Only
|
212
|
+
# cells which are not already merged can be merged.
|
213
|
+
#
|
214
|
+
# @example
|
215
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
216
|
+
# rows = 4
|
217
|
+
# columns = 4
|
218
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
219
|
+
# table.merge(1, 1, 2, 2)
|
220
|
+
#
|
221
|
+
# @param [Integer] start_row
|
222
|
+
#
|
223
|
+
# @param [Integer] start_column
|
224
|
+
#
|
225
|
+
# @param [Integer] end_row
|
226
|
+
#
|
227
|
+
# @param [Integer] end_column
|
228
|
+
#
|
229
|
+
# @raise [IndexError] if the passed in indices are not a valid for the
|
230
|
+
# {Layout::Table}
|
231
|
+
#
|
232
|
+
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
233
|
+
# {Layout::Layer}
|
234
|
+
#
|
235
|
+
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
236
|
+
#
|
237
|
+
# @raise [ArgumentError] if the specified range of cells only spans a single
|
238
|
+
# cell
|
239
|
+
#
|
240
|
+
# @raise [ArgumentError] if the specified range of cells contains a merged cell
|
241
|
+
#
|
242
|
+
# @version LayOut 2018
|
243
|
+
def merge(start_row, start_column, end_row, end_column)
|
244
|
+
end
|
245
|
+
|
246
|
+
# The {#remove_column} method removes the column at the specified index.
|
247
|
+
#
|
248
|
+
# @example
|
249
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
250
|
+
# rows = 4
|
251
|
+
# columns = 4
|
252
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
253
|
+
# table.remove_column(2)
|
254
|
+
#
|
255
|
+
# @param [Integer] index
|
256
|
+
#
|
257
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
258
|
+
#
|
259
|
+
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
260
|
+
# {Layout::Layer}
|
261
|
+
#
|
262
|
+
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
263
|
+
#
|
264
|
+
# @version LayOut 2018
|
265
|
+
def remove_column(index)
|
266
|
+
end
|
267
|
+
|
268
|
+
# The {#remove_row} method removes the row at the specified index.
|
269
|
+
#
|
270
|
+
# @example
|
271
|
+
# bounds = Geom::Bounds2d.new(1, 1, 4, 4)
|
272
|
+
# rows = 4
|
273
|
+
# columns = 4
|
274
|
+
# table = Layout::Table.new(bounds, rows, columns)
|
275
|
+
# table.remove_row(2)
|
276
|
+
#
|
277
|
+
# @param [Integer] index
|
278
|
+
#
|
279
|
+
# @raise [IndexError] if index is not a valid index for the {Layout::Table}
|
280
|
+
#
|
281
|
+
# @raise [LockedLayerError] if the {Layout::Table} is on a locked
|
282
|
+
# {Layout::Layer}
|
283
|
+
#
|
284
|
+
# @raise [LockedEntityError] if the {Layout::Table} is locked
|
285
|
+
#
|
286
|
+
# @version LayOut 2018
|
287
|
+
def remove_row(index)
|
288
|
+
end
|
289
|
+
|
290
|
+
end
|