sketchup-api-stubs 0.7.9 → 0.7.11

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 (160) hide show
  1. checksums.yaml +4 -4
  2. data/lib/sketchup-api-stubs/sketchup.rb +157 -151
  3. data/lib/sketchup-api-stubs/stubs/Array.rb +741 -741
  4. data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +322 -322
  5. data/lib/sketchup-api-stubs/stubs/Geom/Bounds2d.rb +182 -172
  6. data/lib/sketchup-api-stubs/stubs/Geom/LatLong.rb +111 -126
  7. data/lib/sketchup-api-stubs/stubs/Geom/OrientedBounds2d.rb +102 -102
  8. data/lib/sketchup-api-stubs/stubs/Geom/Point2d.rb +423 -400
  9. data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +693 -661
  10. data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +535 -509
  11. data/lib/sketchup-api-stubs/stubs/Geom/Transformation.rb +500 -476
  12. data/lib/sketchup-api-stubs/stubs/Geom/Transformation2d.rb +267 -263
  13. data/lib/sketchup-api-stubs/stubs/Geom/UTM.rb +133 -141
  14. data/lib/sketchup-api-stubs/stubs/Geom/Vector2d.rb +547 -522
  15. data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +678 -693
  16. data/lib/sketchup-api-stubs/stubs/Geom.rb +351 -351
  17. data/lib/sketchup-api-stubs/stubs/LanguageHandler.rb +93 -93
  18. data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +595 -595
  19. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +751 -747
  20. data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +183 -183
  21. data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
  22. data/lib/sketchup-api-stubs/stubs/Layout/Dictionary.rb +234 -0
  23. data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +683 -517
  24. data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
  25. data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +148 -148
  26. data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +464 -353
  27. data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +354 -354
  28. data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -311
  29. data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
  30. data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -91
  31. data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +370 -370
  32. data/lib/sketchup-api-stubs/stubs/Layout/Layer.rb +218 -218
  33. data/lib/sketchup-api-stubs/stubs/Layout/LayerInstance.rb +128 -128
  34. data/lib/sketchup-api-stubs/stubs/Layout/Layers.rb +225 -225
  35. data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +614 -567
  36. data/lib/sketchup-api-stubs/stubs/Layout/LockedEntityError.rb +10 -10
  37. data/lib/sketchup-api-stubs/stubs/Layout/LockedLayerError.rb +11 -11
  38. data/lib/sketchup-api-stubs/stubs/Layout/Page.rb +282 -183
  39. data/lib/sketchup-api-stubs/stubs/Layout/PageInfo.rb +458 -387
  40. data/lib/sketchup-api-stubs/stubs/Layout/Pages.rb +209 -209
  41. data/lib/sketchup-api-stubs/stubs/Layout/Path.rb +346 -344
  42. data/lib/sketchup-api-stubs/stubs/Layout/Rectangle.rb +174 -174
  43. data/lib/sketchup-api-stubs/stubs/Layout/ReferenceEntity.rb +82 -82
  44. data/lib/sketchup-api-stubs/stubs/Layout/SketchUpModel.rb +714 -692
  45. data/lib/sketchup-api-stubs/stubs/Layout/Style.rb +1565 -1519
  46. data/lib/sketchup-api-stubs/stubs/Layout/Table.rb +290 -290
  47. data/lib/sketchup-api-stubs/stubs/Layout/TableCell.rb +149 -149
  48. data/lib/sketchup-api-stubs/stubs/Layout/TableColumn.rb +139 -139
  49. data/lib/sketchup-api-stubs/stubs/Layout/TableRow.rb +135 -135
  50. data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
  51. data/lib/sketchup-api-stubs/stubs/Length.rb +286 -278
  52. data/lib/sketchup-api-stubs/stubs/Numeric.rb +249 -249
  53. data/lib/sketchup-api-stubs/stubs/Sketchup/Animation.rb +196 -144
  54. data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +169 -169
  55. data/lib/sketchup-api-stubs/stubs/Sketchup/ArcCurve.rb +226 -209
  56. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionaries.rb +145 -150
  57. data/lib/sketchup-api-stubs/stubs/Sketchup/AttributeDictionary.rb +294 -281
  58. data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
  59. data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +296 -302
  60. data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +473 -478
  61. data/lib/sketchup-api-stubs/stubs/Sketchup/ClassificationSchema.rb +63 -63
  62. data/lib/sketchup-api-stubs/stubs/Sketchup/Classifications.rb +121 -121
  63. data/lib/sketchup-api-stubs/stubs/Sketchup/Color.rb +294 -294
  64. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +673 -659
  65. data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentInstance.rb +600 -593
  66. data/lib/sketchup-api-stubs/stubs/Sketchup/Console.rb +76 -76
  67. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionLine.rb +252 -257
  68. data/lib/sketchup-api-stubs/stubs/Sketchup/ConstructionPoint.rb +32 -32
  69. data/lib/sketchup-api-stubs/stubs/Sketchup/Curve.rb +201 -201
  70. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +443 -449
  71. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +74 -74
  72. data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +104 -104
  73. data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +167 -165
  74. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +306 -306
  75. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +42 -42
  76. data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
  77. data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +403 -406
  78. data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +397 -397
  79. data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
  80. data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1282 -1239
  81. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesBuilder.rb +261 -261
  82. data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +127 -127
  83. data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +519 -545
  84. data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +60 -60
  85. data/lib/sketchup-api-stubs/stubs/Sketchup/Environment.rb +406 -0
  86. data/lib/sketchup-api-stubs/stubs/Sketchup/Environments.rb +185 -0
  87. data/lib/sketchup-api-stubs/stubs/Sketchup/EnvironmentsObserver.rb +113 -0
  88. data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +122 -125
  89. data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +1006 -937
  90. data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +102 -102
  91. data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +740 -750
  92. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +289 -282
  93. data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +64 -62
  94. data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
  95. data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +405 -468
  96. data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +266 -266
  97. data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +189 -189
  98. data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +432 -406
  99. data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +84 -84
  100. data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +307 -306
  101. data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +332 -326
  102. data/lib/sketchup-api-stubs/stubs/Sketchup/LayerFolder.rb +380 -422
  103. data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +409 -427
  104. data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +241 -249
  105. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
  106. data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +55 -48
  107. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
  108. data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +114 -114
  109. data/lib/sketchup-api-stubs/stubs/Sketchup/LoadHandler.rb +70 -0
  110. data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
  111. data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +1115 -414
  112. data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +330 -317
  113. data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +142 -142
  114. data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +93 -93
  115. data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1714 -1652
  116. data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +372 -357
  117. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +133 -130
  118. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +271 -271
  119. data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
  120. data/lib/sketchup-api-stubs/stubs/Sketchup/Overlay.rb +463 -490
  121. data/lib/sketchup-api-stubs/stubs/Sketchup/OverlaysManager.rb +104 -116
  122. data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +939 -797
  123. data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +388 -361
  124. data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +77 -77
  125. data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +501 -478
  126. data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
  127. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +385 -361
  128. data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +45 -45
  129. data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
  130. data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +451 -458
  131. data/lib/sketchup-api-stubs/stubs/Sketchup/SelectionObserver.rb +115 -115
  132. data/lib/sketchup-api-stubs/stubs/Sketchup/Set.rb +211 -212
  133. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfo.rb +259 -255
  134. data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +59 -59
  135. data/lib/sketchup-api-stubs/stubs/Sketchup/Skp.rb +40 -40
  136. data/lib/sketchup-api-stubs/stubs/Sketchup/Snap.rb +125 -0
  137. data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +88 -69
  138. data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +263 -217
  139. data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +283 -262
  140. data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +199 -217
  141. data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
  142. data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +924 -834
  143. data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
  144. data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +156 -156
  145. data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +75 -75
  146. data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +143 -142
  147. data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1566 -1311
  148. data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +71 -45
  149. data/lib/sketchup-api-stubs/stubs/Sketchup.rb +1429 -1377
  150. data/lib/sketchup-api-stubs/stubs/SketchupExtension.rb +353 -353
  151. data/lib/sketchup-api-stubs/stubs/String.rb +24 -24
  152. data/lib/sketchup-api-stubs/stubs/UI/Command.rb +399 -389
  153. data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +580 -494
  154. data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +280 -269
  155. data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +258 -241
  156. data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +636 -635
  157. data/lib/sketchup-api-stubs/stubs/UI.rb +791 -683
  158. data/lib/sketchup-api-stubs/stubs/_top_level.rb +303 -303
  159. data/lib/sketchup-api-stubs.rb +1 -1
  160. metadata +10 -24
@@ -1,290 +1,290 @@
1
- # Copyright:: Copyright 2023 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
1
+ # Copyright:: Copyright 2026 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