sketchup-api-stubs 0.6.1 → 0.7.4
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/.yardopts +2 -0
- data/lib/sketchup-api-stubs.rb +1 -1
- data/lib/sketchup-api-stubs/sketchup.rb +145 -145
- data/lib/sketchup-api-stubs/stubs/Geom/BoundingBox.rb +318 -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 -401
- data/lib/sketchup-api-stubs/stubs/Geom/Point3d.rb +661 -661
- data/lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb +492 -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 -523
- data/lib/sketchup-api-stubs/stubs/Geom/Vector3d.rb +691 -691
- data/lib/sketchup-api-stubs/stubs/Layout.rb +25 -25
- data/lib/sketchup-api-stubs/stubs/Layout/AngularDimension.rb +573 -569
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinition.rb +411 -411
- data/lib/sketchup-api-stubs/stubs/Layout/AutoTextDefinitions.rb +174 -186
- data/lib/sketchup-api-stubs/stubs/Layout/ConnectionPoint.rb +70 -70
- data/lib/sketchup-api-stubs/stubs/Layout/Document.rb +514 -455
- data/lib/sketchup-api-stubs/stubs/Layout/Ellipse.rb +29 -29
- data/lib/sketchup-api-stubs/stubs/Layout/Entities.rb +143 -155
- data/lib/sketchup-api-stubs/stubs/Layout/Entity.rb +353 -359
- data/lib/sketchup-api-stubs/stubs/Layout/FormattedText.rb +349 -349
- data/lib/sketchup-api-stubs/stubs/Layout/Grid.rb +311 -123
- data/lib/sketchup-api-stubs/stubs/Layout/Group.rb +261 -261
- data/lib/sketchup-api-stubs/stubs/Layout/Image.rb +91 -86
- data/lib/sketchup-api-stubs/stubs/Layout/Label.rb +371 -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 +220 -232
- data/lib/sketchup-api-stubs/stubs/Layout/LinearDimension.rb +567 -563
- 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 +204 -216
- 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 +694 -547
- 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/Sketchup/Animation.rb +140 -140
- data/lib/sketchup-api-stubs/stubs/Sketchup/AppObserver.rb +157 -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 +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/Axes.rb +149 -149
- data/lib/sketchup-api-stubs/stubs/Sketchup/Behavior.rb +328 -328
- data/lib/sketchup-api-stubs/stubs/Sketchup/Camera.rb +577 -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 +281 -281
- data/lib/sketchup-api-stubs/stubs/Sketchup/ComponentDefinition.rb +562 -554
- 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 +194 -194
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionList.rb +329 -329
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionObserver.rb +72 -72
- data/lib/sketchup-api-stubs/stubs/Sketchup/DefinitionsObserver.rb +102 -102
- data/lib/sketchup-api-stubs/stubs/Sketchup/Dimension.rb +165 -165
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionLinear.rb +312 -312
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionObserver.rb +38 -38
- data/lib/sketchup-api-stubs/stubs/Sketchup/DimensionRadial.rb +87 -87
- data/lib/sketchup-api-stubs/stubs/Sketchup/Drawingelement.rb +390 -390
- data/lib/sketchup-api-stubs/stubs/Sketchup/Edge.rb +508 -508
- data/lib/sketchup-api-stubs/stubs/Sketchup/EdgeUse.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entities.rb +1119 -1097
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntitiesObserver.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Entity.rb +544 -537
- data/lib/sketchup-api-stubs/stubs/Sketchup/EntityObserver.rb +59 -59
- data/lib/sketchup-api-stubs/stubs/Sketchup/ExtensionsManager.rb +125 -125
- data/lib/sketchup-api-stubs/stubs/Sketchup/Face.rb +750 -750
- data/lib/sketchup-api-stubs/stubs/Sketchup/FrameChangeObserver.rb +104 -104
- data/lib/sketchup-api-stubs/stubs/Sketchup/Group.rb +697 -697
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http.rb +27 -27
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Request.rb +285 -285
- data/lib/sketchup-api-stubs/stubs/Sketchup/Http/Response.rb +62 -62
- data/lib/sketchup-api-stubs/stubs/Sketchup/Image.rb +409 -409
- data/lib/sketchup-api-stubs/stubs/Sketchup/ImageRep.rb +226 -226
- data/lib/sketchup-api-stubs/stubs/Sketchup/Importer.rb +190 -190
- data/lib/sketchup-api-stubs/stubs/Sketchup/InputPoint.rb +393 -393
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstanceObserver.rb +82 -82
- data/lib/sketchup-api-stubs/stubs/Sketchup/InstancePath.rb +303 -303
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layer.rb +285 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Layers.rb +244 -231
- data/lib/sketchup-api-stubs/stubs/Sketchup/LayersObserver.rb +136 -136
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing.rb +48 -48
- data/lib/sketchup-api-stubs/stubs/Sketchup/Licensing/ExtensionLicense.rb +86 -86
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyle.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/Sketchup/LineStyles.rb +112 -123
- data/lib/sketchup-api-stubs/stubs/Sketchup/Loop.rb +137 -137
- data/lib/sketchup-api-stubs/stubs/Sketchup/Material.rb +416 -416
- data/lib/sketchup-api-stubs/stubs/Sketchup/Materials.rb +311 -311
- data/lib/sketchup-api-stubs/stubs/Sketchup/MaterialsObserver.rb +141 -141
- data/lib/sketchup-api-stubs/stubs/Sketchup/Menu.rb +95 -95
- data/lib/sketchup-api-stubs/stubs/Sketchup/Model.rb +1638 -1483
- data/lib/sketchup-api-stubs/stubs/Sketchup/ModelObserver.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsManager.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProvider.rb +284 -282
- data/lib/sketchup-api-stubs/stubs/Sketchup/OptionsProviderObserver.rb +58 -58
- data/lib/sketchup-api-stubs/stubs/Sketchup/Page.rb +770 -650
- data/lib/sketchup-api-stubs/stubs/Sketchup/Pages.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/Sketchup/PagesObserver.rb +76 -76
- data/lib/sketchup-api-stubs/stubs/Sketchup/PickHelper.rb +456 -456
- data/lib/sketchup-api-stubs/stubs/Sketchup/RegionalSettings.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptions.rb +364 -356
- data/lib/sketchup-api-stubs/stubs/Sketchup/RenderingOptionsObserver.rb +44 -44
- data/lib/sketchup-api-stubs/stubs/Sketchup/SectionPlane.rb +150 -150
- data/lib/sketchup-api-stubs/stubs/Sketchup/Selection.rb +454 -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 +257 -257
- data/lib/sketchup-api-stubs/stubs/Sketchup/ShadowInfoObserver.rb +57 -57
- data/lib/sketchup-api-stubs/stubs/Sketchup/Style.rb +69 -69
- data/lib/sketchup-api-stubs/stubs/Sketchup/Styles.rb +211 -211
- data/lib/sketchup-api-stubs/stubs/Sketchup/Text.rb +262 -262
- data/lib/sketchup-api-stubs/stubs/Sketchup/Texture.rb +225 -225
- data/lib/sketchup-api-stubs/stubs/Sketchup/TextureWriter.rb +237 -237
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tool.rb +829 -829
- data/lib/sketchup-api-stubs/stubs/Sketchup/Tools.rb +132 -132
- data/lib/sketchup-api-stubs/stubs/Sketchup/ToolsObserver.rb +154 -154
- data/lib/sketchup-api-stubs/stubs/Sketchup/UVHelper.rb +61 -61
- data/lib/sketchup-api-stubs/stubs/Sketchup/Vertex.rb +142 -142
- data/lib/sketchup-api-stubs/stubs/Sketchup/View.rb +1301 -995
- data/lib/sketchup-api-stubs/stubs/Sketchup/ViewObserver.rb +43 -43
- data/lib/sketchup-api-stubs/stubs/UI/Command.rb +310 -310
- data/lib/sketchup-api-stubs/stubs/UI/HtmlDialog.rb +356 -356
- data/lib/sketchup-api-stubs/stubs/UI/Notification.rb +229 -229
- data/lib/sketchup-api-stubs/stubs/UI/Toolbar.rb +240 -240
- data/lib/sketchup-api-stubs/stubs/UI/WebDialog.rb +633 -633
- data/lib/sketchup-api-stubs/stubs/_top_level.rb +311 -303
- data/lib/sketchup-api-stubs/stubs/array.rb +741 -741
- data/lib/sketchup-api-stubs/stubs/geom.rb +348 -233
- data/lib/sketchup-api-stubs/stubs/languagehandler.rb +92 -92
- data/lib/sketchup-api-stubs/stubs/length.rb +278 -262
- data/lib/sketchup-api-stubs/stubs/numeric.rb +249 -249
- data/lib/sketchup-api-stubs/stubs/sketchup.rb +1310 -1310
- data/lib/sketchup-api-stubs/stubs/sketchupextension.rb +353 -353
- data/lib/sketchup-api-stubs/stubs/string.rb +24 -24
- data/lib/sketchup-api-stubs/stubs/ui.rb +667 -660
- metadata +2 -16
@@ -1,218 +1,218 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# This is the interface to a LayOut Layer Definition. A layer definition
|
5
|
-
# specifies the document-wide information about a layer. To access the entities
|
6
|
-
# on a layer for a given page, use {Layout::LayerInstance}.
|
7
|
-
#
|
8
|
-
# @example
|
9
|
-
# # Grab a handle to an existing LayOut document.
|
10
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
11
|
-
#
|
12
|
-
# new_layer = doc.
|
13
|
-
# new_layer.name = "A new layer"
|
14
|
-
#
|
15
|
-
# @version LayOut 2018
|
16
|
-
class Layout::Layer
|
17
|
-
|
18
|
-
# Constants
|
19
|
-
|
20
|
-
SHARELAYERACTION_CLEAR = nil # Stub value.
|
21
|
-
SHARELAYERACTION_KEEPONEPAGE = nil # Stub value.
|
22
|
-
SHARELAYERACTION_MERGEALLPAGES = nil # Stub value.
|
23
|
-
|
24
|
-
UNSHARELAYERACTION_CLEAR = nil # Stub value.
|
25
|
-
UNSHARELAYERACTION_COPYTOALLPAGES = nil # Stub value.
|
26
|
-
UNSHARELAYERACTION_COPYTOONEPAGE = nil # Stub value.
|
27
|
-
|
28
|
-
# Instance Methods
|
29
|
-
|
30
|
-
# The {#==} method checks to see if the two {Layout::Layer}s are equal.
|
31
|
-
# This checks whether the Ruby Objects are pointing to the same internal
|
32
|
-
# object.
|
33
|
-
#
|
34
|
-
# @example
|
35
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
36
|
-
# document = doc.pages.first.document
|
37
|
-
# doc.layers.first == document.layers.first
|
38
|
-
#
|
39
|
-
# @param [Layout::Layer] other
|
40
|
-
#
|
41
|
-
# @return [Boolean]
|
42
|
-
#
|
43
|
-
# @version LayOut 2018
|
44
|
-
def ==(other)
|
45
|
-
end
|
46
|
-
|
47
|
-
# The {#document} method returns the {Layout::Document} that the {Layout::Layer}
|
48
|
-
# belongs to.
|
49
|
-
#
|
50
|
-
# @example
|
51
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
52
|
-
# first_layer = doc.layers.first
|
53
|
-
# # layer_doc should reference the same document as doc
|
54
|
-
# layer_doc = first_layer.document
|
55
|
-
#
|
56
|
-
# @return [Layout::Document]
|
57
|
-
#
|
58
|
-
# @version LayOut 2018
|
59
|
-
def document
|
60
|
-
end
|
61
|
-
|
62
|
-
# The {#layer_instance} method returns a {Layout::LayerInstance} from the
|
63
|
-
# {Layout::Layer}. If the {Layout::Layer} is shared, a {Layout::Page} does not
|
64
|
-
# have to be provided.
|
65
|
-
#
|
66
|
-
# @example
|
67
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
68
|
-
# layers = doc.layers
|
69
|
-
# page = doc.pages.first
|
70
|
-
# layer_instance = layers.first.layer_instance(page)
|
71
|
-
#
|
72
|
-
# @overload layer_instance
|
73
|
-
#
|
74
|
-
# @return [Layout::LayerInstance]
|
75
|
-
#
|
76
|
-
# @overload layer_instance(page)
|
77
|
-
#
|
78
|
-
# @param [Layout::Page] page
|
79
|
-
# @return [Layout::LayerInstance]
|
80
|
-
#
|
81
|
-
# @raise [ArgumentError] if the {Layout::Layer} is not shared and no page is
|
82
|
-
# provided
|
83
|
-
#
|
84
|
-
# @version LayOut 2018
|
85
|
-
def layer_instance(page)
|
86
|
-
end
|
87
|
-
|
88
|
-
# The {#locked=} method sets whether the {Layout::Layer} is locked.
|
89
|
-
#
|
90
|
-
# @example
|
91
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
92
|
-
# layers = doc.layers
|
93
|
-
# layers.first.locked = false
|
94
|
-
#
|
95
|
-
# @param [Boolean] locked
|
96
|
-
# +true+ to lock the {Layout::Layer}, +false+ to
|
97
|
-
# unlock it
|
98
|
-
#
|
99
|
-
# @raise [ArgumentError] if the {Layout::Layer} could not be locked because
|
100
|
-
# there must be at least one unlocked, visible {Layout::Layer}
|
101
|
-
#
|
102
|
-
# @version LayOut 2018
|
103
|
-
def locked=(locked)
|
104
|
-
end
|
105
|
-
|
106
|
-
# The {#locked?} method returns whether the {Layout::Layer} is locked.
|
107
|
-
#
|
108
|
-
# @example
|
109
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
110
|
-
# layers = doc.layers
|
111
|
-
# is_locked = layer.first.locked?
|
112
|
-
#
|
113
|
-
# @return [Boolean]
|
114
|
-
#
|
115
|
-
# @version LayOut 2018
|
116
|
-
def locked?
|
117
|
-
end
|
118
|
-
|
119
|
-
# The {#name} method returns the name of the {Layout::Layer}.
|
120
|
-
#
|
121
|
-
# @example
|
122
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
123
|
-
# layers = doc.layers
|
124
|
-
# layer_name = layers.first.name
|
125
|
-
#
|
126
|
-
# @return [String]
|
127
|
-
#
|
128
|
-
# @version LayOut 2018
|
129
|
-
def name
|
130
|
-
end
|
131
|
-
|
132
|
-
# The {#name=} sets the name of the {Layout::Layer}.
|
133
|
-
#
|
134
|
-
# @example
|
135
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
136
|
-
# layers = doc.layers
|
137
|
-
# layers.first.name = "Base layer"
|
138
|
-
#
|
139
|
-
# @param [String] name
|
140
|
-
#
|
141
|
-
# @raise [ArgumentError] if name is an empty string
|
142
|
-
#
|
143
|
-
# @version LayOut 2018
|
144
|
-
def name=(name)
|
145
|
-
end
|
146
|
-
|
147
|
-
# The {#set_nonshared} method sets the {Layout::Layer} to non-shared.
|
148
|
-
#
|
149
|
-
# The unshare action can be one of the following values:
|
150
|
-
# [+Layout::Layer::UNSHARELAYERACTION_CLEAR+]
|
151
|
-
# [+Layout::Layer::UNSHARELAYERACTION_COPYTOONEPAGE+]
|
152
|
-
# [+Layout::Layer::UNSHARELAYERACTION_COPYTOALLPAGES+]
|
153
|
-
#
|
154
|
-
# @example
|
155
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
156
|
-
# layers = doc.layers
|
157
|
-
# page = doc.pages.first
|
158
|
-
# layers.first.set_nonshared(page, Layout::Layer::UNSHARELAYERACTION_COPYTOONEPAGE);
|
159
|
-
#
|
160
|
-
# @param [Layout::Page] page
|
161
|
-
# The {Layout::Page} with the {Layout::Layer} to be
|
162
|
-
# non-shared.
|
163
|
-
#
|
164
|
-
# @param [Integer] unshare_action
|
165
|
-
# The share action that specifies what to do
|
166
|
-
# with {Layout::Entity}s after the {Layout::Layer} is non-shared.
|
167
|
-
#
|
168
|
-
# @raise [LockedLayerError] if the {Layout::Layer} is locked
|
169
|
-
#
|
170
|
-
# @raise [ArgumentError] if unshare_action is not a valid value
|
171
|
-
#
|
172
|
-
# @version LayOut 2018
|
173
|
-
def set_nonshared(page, unshare_action)
|
174
|
-
end
|
175
|
-
|
176
|
-
# The {#set_shared} method sets the {Layout::Layer} to shared.
|
177
|
-
#
|
178
|
-
# The share action can be one of the following values:
|
179
|
-
# [+Layout::Layer::SHARELAYERACTION_CLEAR+]
|
180
|
-
# [+Layout::Layer::SHARELAYERACTION_KEEPONEPAGE+]
|
181
|
-
# [+Layout::Layer::SHARELAYERACTION_MERGEALLPAGES+]
|
182
|
-
#
|
183
|
-
# @example
|
184
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
185
|
-
# layers = doc.layers
|
186
|
-
# page = doc.pages.first
|
187
|
-
# layers.first.set_shared(page, Layout::Layer::SHARELAYERACTION_KEEPONEPAGE);
|
188
|
-
#
|
189
|
-
# @param [Layout::Page] page
|
190
|
-
# The {Layout::Page} with the {Layout::Layer} to be
|
191
|
-
# shared.
|
192
|
-
#
|
193
|
-
# @param [Integer] share_action
|
194
|
-
# The share action that specifies what to do with
|
195
|
-
# {Layout::Entity}s after the {Layout::Layer} is shared.
|
196
|
-
#
|
197
|
-
# @raise [Layout::LockedLayerError] if the {Layout::Layer} is locked
|
198
|
-
#
|
199
|
-
# @raise [ArgumentError] if share_action is not a valid value
|
200
|
-
#
|
201
|
-
# @version LayOut 2018
|
202
|
-
def set_shared(page, share_action)
|
203
|
-
end
|
204
|
-
|
205
|
-
# The {#shared?} method returns whether the {Layout::Layer} is shared.
|
206
|
-
#
|
207
|
-
# @example
|
208
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
209
|
-
# layers = doc.layers
|
210
|
-
# is_shared = layers.first.shared?
|
211
|
-
#
|
212
|
-
# @return [Boolean]
|
213
|
-
#
|
214
|
-
# @version LayOut 2018
|
215
|
-
def shared?
|
216
|
-
end
|
217
|
-
|
218
|
-
end
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# This is the interface to a LayOut Layer Definition. A layer definition
|
5
|
+
# specifies the document-wide information about a layer. To access the entities
|
6
|
+
# on a layer for a given page, use {Layout::LayerInstance}.
|
7
|
+
#
|
8
|
+
# @example
|
9
|
+
# # Grab a handle to an existing LayOut document.
|
10
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
11
|
+
#
|
12
|
+
# new_layer = doc.layers.add(true)
|
13
|
+
# new_layer.name = "A new layer"
|
14
|
+
#
|
15
|
+
# @version LayOut 2018
|
16
|
+
class Layout::Layer
|
17
|
+
|
18
|
+
# Constants
|
19
|
+
|
20
|
+
SHARELAYERACTION_CLEAR = nil # Stub value.
|
21
|
+
SHARELAYERACTION_KEEPONEPAGE = nil # Stub value.
|
22
|
+
SHARELAYERACTION_MERGEALLPAGES = nil # Stub value.
|
23
|
+
|
24
|
+
UNSHARELAYERACTION_CLEAR = nil # Stub value.
|
25
|
+
UNSHARELAYERACTION_COPYTOALLPAGES = nil # Stub value.
|
26
|
+
UNSHARELAYERACTION_COPYTOONEPAGE = nil # Stub value.
|
27
|
+
|
28
|
+
# Instance Methods
|
29
|
+
|
30
|
+
# The {#==} method checks to see if the two {Layout::Layer}s are equal.
|
31
|
+
# This checks whether the Ruby Objects are pointing to the same internal
|
32
|
+
# object.
|
33
|
+
#
|
34
|
+
# @example
|
35
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
36
|
+
# document = doc.pages.first.document
|
37
|
+
# doc.layers.first == document.layers.first
|
38
|
+
#
|
39
|
+
# @param [Layout::Layer] other
|
40
|
+
#
|
41
|
+
# @return [Boolean]
|
42
|
+
#
|
43
|
+
# @version LayOut 2018
|
44
|
+
def ==(other)
|
45
|
+
end
|
46
|
+
|
47
|
+
# The {#document} method returns the {Layout::Document} that the {Layout::Layer}
|
48
|
+
# belongs to.
|
49
|
+
#
|
50
|
+
# @example
|
51
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
52
|
+
# first_layer = doc.layers.first
|
53
|
+
# # layer_doc should reference the same document as doc
|
54
|
+
# layer_doc = first_layer.document
|
55
|
+
#
|
56
|
+
# @return [Layout::Document]
|
57
|
+
#
|
58
|
+
# @version LayOut 2018
|
59
|
+
def document
|
60
|
+
end
|
61
|
+
|
62
|
+
# The {#layer_instance} method returns a {Layout::LayerInstance} from the
|
63
|
+
# {Layout::Layer}. If the {Layout::Layer} is shared, a {Layout::Page} does not
|
64
|
+
# have to be provided.
|
65
|
+
#
|
66
|
+
# @example
|
67
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
68
|
+
# layers = doc.layers
|
69
|
+
# page = doc.pages.first
|
70
|
+
# layer_instance = layers.first.layer_instance(page)
|
71
|
+
#
|
72
|
+
# @overload layer_instance
|
73
|
+
#
|
74
|
+
# @return [Layout::LayerInstance]
|
75
|
+
#
|
76
|
+
# @overload layer_instance(page)
|
77
|
+
#
|
78
|
+
# @param [Layout::Page] page
|
79
|
+
# @return [Layout::LayerInstance]
|
80
|
+
#
|
81
|
+
# @raise [ArgumentError] if the {Layout::Layer} is not shared and no page is
|
82
|
+
# provided
|
83
|
+
#
|
84
|
+
# @version LayOut 2018
|
85
|
+
def layer_instance(page)
|
86
|
+
end
|
87
|
+
|
88
|
+
# The {#locked=} method sets whether the {Layout::Layer} is locked.
|
89
|
+
#
|
90
|
+
# @example
|
91
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
92
|
+
# layers = doc.layers
|
93
|
+
# layers.first.locked = false
|
94
|
+
#
|
95
|
+
# @param [Boolean] locked
|
96
|
+
# +true+ to lock the {Layout::Layer}, +false+ to
|
97
|
+
# unlock it
|
98
|
+
#
|
99
|
+
# @raise [ArgumentError] if the {Layout::Layer} could not be locked because
|
100
|
+
# there must be at least one unlocked, visible {Layout::Layer}
|
101
|
+
#
|
102
|
+
# @version LayOut 2018
|
103
|
+
def locked=(locked)
|
104
|
+
end
|
105
|
+
|
106
|
+
# The {#locked?} method returns whether the {Layout::Layer} is locked.
|
107
|
+
#
|
108
|
+
# @example
|
109
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
110
|
+
# layers = doc.layers
|
111
|
+
# is_locked = layer.first.locked?
|
112
|
+
#
|
113
|
+
# @return [Boolean]
|
114
|
+
#
|
115
|
+
# @version LayOut 2018
|
116
|
+
def locked?
|
117
|
+
end
|
118
|
+
|
119
|
+
# The {#name} method returns the name of the {Layout::Layer}.
|
120
|
+
#
|
121
|
+
# @example
|
122
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
123
|
+
# layers = doc.layers
|
124
|
+
# layer_name = layers.first.name
|
125
|
+
#
|
126
|
+
# @return [String]
|
127
|
+
#
|
128
|
+
# @version LayOut 2018
|
129
|
+
def name
|
130
|
+
end
|
131
|
+
|
132
|
+
# The {#name=} sets the name of the {Layout::Layer}.
|
133
|
+
#
|
134
|
+
# @example
|
135
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
136
|
+
# layers = doc.layers
|
137
|
+
# layers.first.name = "Base layer"
|
138
|
+
#
|
139
|
+
# @param [String] name
|
140
|
+
#
|
141
|
+
# @raise [ArgumentError] if name is an empty string
|
142
|
+
#
|
143
|
+
# @version LayOut 2018
|
144
|
+
def name=(name)
|
145
|
+
end
|
146
|
+
|
147
|
+
# The {#set_nonshared} method sets the {Layout::Layer} to non-shared.
|
148
|
+
#
|
149
|
+
# The unshare action can be one of the following values:
|
150
|
+
# [+Layout::Layer::UNSHARELAYERACTION_CLEAR+]
|
151
|
+
# [+Layout::Layer::UNSHARELAYERACTION_COPYTOONEPAGE+]
|
152
|
+
# [+Layout::Layer::UNSHARELAYERACTION_COPYTOALLPAGES+]
|
153
|
+
#
|
154
|
+
# @example
|
155
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
156
|
+
# layers = doc.layers
|
157
|
+
# page = doc.pages.first
|
158
|
+
# layers.first.set_nonshared(page, Layout::Layer::UNSHARELAYERACTION_COPYTOONEPAGE);
|
159
|
+
#
|
160
|
+
# @param [Layout::Page] page
|
161
|
+
# The {Layout::Page} with the {Layout::Layer} to be
|
162
|
+
# non-shared.
|
163
|
+
#
|
164
|
+
# @param [Integer] unshare_action
|
165
|
+
# The share action that specifies what to do
|
166
|
+
# with {Layout::Entity}s after the {Layout::Layer} is non-shared.
|
167
|
+
#
|
168
|
+
# @raise [LockedLayerError] if the {Layout::Layer} is locked
|
169
|
+
#
|
170
|
+
# @raise [ArgumentError] if unshare_action is not a valid value
|
171
|
+
#
|
172
|
+
# @version LayOut 2018
|
173
|
+
def set_nonshared(page, unshare_action)
|
174
|
+
end
|
175
|
+
|
176
|
+
# The {#set_shared} method sets the {Layout::Layer} to shared.
|
177
|
+
#
|
178
|
+
# The share action can be one of the following values:
|
179
|
+
# [+Layout::Layer::SHARELAYERACTION_CLEAR+]
|
180
|
+
# [+Layout::Layer::SHARELAYERACTION_KEEPONEPAGE+]
|
181
|
+
# [+Layout::Layer::SHARELAYERACTION_MERGEALLPAGES+]
|
182
|
+
#
|
183
|
+
# @example
|
184
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
185
|
+
# layers = doc.layers
|
186
|
+
# page = doc.pages.first
|
187
|
+
# layers.first.set_shared(page, Layout::Layer::SHARELAYERACTION_KEEPONEPAGE);
|
188
|
+
#
|
189
|
+
# @param [Layout::Page] page
|
190
|
+
# The {Layout::Page} with the {Layout::Layer} to be
|
191
|
+
# shared.
|
192
|
+
#
|
193
|
+
# @param [Integer] share_action
|
194
|
+
# The share action that specifies what to do with
|
195
|
+
# {Layout::Entity}s after the {Layout::Layer} is shared.
|
196
|
+
#
|
197
|
+
# @raise [Layout::LockedLayerError] if the {Layout::Layer} is locked
|
198
|
+
#
|
199
|
+
# @raise [ArgumentError] if share_action is not a valid value
|
200
|
+
#
|
201
|
+
# @version LayOut 2018
|
202
|
+
def set_shared(page, share_action)
|
203
|
+
end
|
204
|
+
|
205
|
+
# The {#shared?} method returns whether the {Layout::Layer} is shared.
|
206
|
+
#
|
207
|
+
# @example
|
208
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
209
|
+
# layers = doc.layers
|
210
|
+
# is_shared = layers.first.shared?
|
211
|
+
#
|
212
|
+
# @return [Boolean]
|
213
|
+
#
|
214
|
+
# @version LayOut 2018
|
215
|
+
def shared?
|
216
|
+
end
|
217
|
+
|
218
|
+
end
|
@@ -1,128 +1,128 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# References an instance of a {Layout::Layer}. A {Layout::LayerInstance}
|
5
|
-
# provides access to the {Layout::Entity}s that are on it, as well as their
|
6
|
-
# draw order. {Layout::Group}s are not included in the list of {Layout::Entity}s
|
7
|
-
# associated with a {Layout::LayerInstance}, since the group hierarchy has no
|
8
|
-
# effect on entity draw order. Each {Layout::Page} has one
|
9
|
-
# {Layout::LayerInstance} for each {Layout::Layer} in the {Layout::Document}.
|
10
|
-
# Non-shared {Layout::LayerInstance}s are unique per {Layout::Page}, while
|
11
|
-
# shared {Layout::LayerInstance}s are shared across all {Layout::Page}s of the
|
12
|
-
# {Layout::Document}.
|
13
|
-
#
|
14
|
-
# @example
|
15
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
16
|
-
# layers = doc.layers
|
17
|
-
# pages = doc.pages
|
18
|
-
# layers.each do |layer|
|
19
|
-
# layer_instance = layer.layer_instance(pages.first)
|
20
|
-
# entities = layer_instance.entities
|
21
|
-
# entities.each do |entity|
|
22
|
-
# new_index = rand(entities.length - 1)
|
23
|
-
# layer_instance.reorder_entity(entity, new_index)
|
24
|
-
# end
|
25
|
-
# end
|
26
|
-
#
|
27
|
-
# @version LayOut 2018
|
28
|
-
class Layout::LayerInstance
|
29
|
-
|
30
|
-
# Instance Methods
|
31
|
-
|
32
|
-
# The {#==} method checks to see if the two {Layout::LayerInstance}s are equal.
|
33
|
-
# This checks whether the Ruby Objects are pointing to the same internal
|
34
|
-
# object.
|
35
|
-
#
|
36
|
-
# @example
|
37
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
38
|
-
# document = doc.pages.first.document
|
39
|
-
# doc.page.layer_instances.first == document.page.layer_instances.first
|
40
|
-
#
|
41
|
-
# @param [Layout::LayerInstance] other
|
42
|
-
#
|
43
|
-
# @return [Boolean]
|
44
|
-
#
|
45
|
-
# @version LayOut 2018
|
46
|
-
def ==(other)
|
47
|
-
end
|
48
|
-
|
49
|
-
# The {#definition} method returns the {Layout::Layer} of the
|
50
|
-
# {Layout::LayerInstance}.
|
51
|
-
#
|
52
|
-
# @example
|
53
|
-
# layer_def = layer_instance.definition
|
54
|
-
#
|
55
|
-
# @return [Layout::Layer]
|
56
|
-
#
|
57
|
-
# @version LayOut 2018
|
58
|
-
def definition
|
59
|
-
end
|
60
|
-
|
61
|
-
# The {#entities} method returns the {Layout::Entities} on the
|
62
|
-
# {Layout::LayerInstance}.
|
63
|
-
#
|
64
|
-
# @example
|
65
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
66
|
-
# layers = doc.layers
|
67
|
-
# pages = doc.pages
|
68
|
-
# first_layer = layers.first
|
69
|
-
# entities = first_layer.layer_instance.entities
|
70
|
-
#
|
71
|
-
# @return [Layout::Entities]
|
72
|
-
#
|
73
|
-
# @version LayOut 2018
|
74
|
-
def entities
|
75
|
-
end
|
76
|
-
|
77
|
-
# The {#entity_index} method returns the index of the {Layout::Entity} on the
|
78
|
-
# {Layout::LayerInstance}.
|
79
|
-
#
|
80
|
-
# @example
|
81
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
82
|
-
# layers = doc.layers
|
83
|
-
# pages = doc.pages
|
84
|
-
# instance = layers.first.layer_instance
|
85
|
-
# instance.entities.each_with_index { |entity, index|
|
86
|
-
# puts "#{index} == #{instance.entity_index(entity)}"
|
87
|
-
# }
|
88
|
-
#
|
89
|
-
# @param [Layout::Entity] entity
|
90
|
-
# The entity to get the index of.
|
91
|
-
#
|
92
|
-
# @raise [ArgumentError] if entity is not on the {Layout::LayerInstance}
|
93
|
-
#
|
94
|
-
# @return [Integer]
|
95
|
-
#
|
96
|
-
# @version LayOut 2018
|
97
|
-
def entity_index(entity)
|
98
|
-
end
|
99
|
-
|
100
|
-
# The {#reorder_entity} method moves the {Layout::Entity} to the specified
|
101
|
-
# index.
|
102
|
-
#
|
103
|
-
# @example
|
104
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
105
|
-
# layers = doc.layers
|
106
|
-
# pages = doc.pages
|
107
|
-
# first_layer = layers.first
|
108
|
-
# first_layer.set_shared(pages.first, SHARELAYERACTION_KEEPONEPAGE);
|
109
|
-
# layer_instance = first_layer.layer_instance
|
110
|
-
# entities = layer_instance.entities
|
111
|
-
# # put the first entity into the back of the layer
|
112
|
-
# layer_instance.reorder_entity(entities.first, (entities.length - 1))
|
113
|
-
#
|
114
|
-
# @param [Layout::Entity] entity
|
115
|
-
# The {Layout::Entity} to reorder
|
116
|
-
#
|
117
|
-
# @param [Integer] index
|
118
|
-
# The desired index of the {Layout::Entity}
|
119
|
-
#
|
120
|
-
# @raise [ArgumentError] if entity is not on the {Layout::LayerInstance}
|
121
|
-
#
|
122
|
-
# @raise [IndexError] if index is out of range
|
123
|
-
#
|
124
|
-
# @version LayOut 2018
|
125
|
-
def reorder_entity(entity, index)
|
126
|
-
end
|
127
|
-
|
128
|
-
end
|
1
|
+
# Copyright:: Copyright 2020 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# References an instance of a {Layout::Layer}. A {Layout::LayerInstance}
|
5
|
+
# provides access to the {Layout::Entity}s that are on it, as well as their
|
6
|
+
# draw order. {Layout::Group}s are not included in the list of {Layout::Entity}s
|
7
|
+
# associated with a {Layout::LayerInstance}, since the group hierarchy has no
|
8
|
+
# effect on entity draw order. Each {Layout::Page} has one
|
9
|
+
# {Layout::LayerInstance} for each {Layout::Layer} in the {Layout::Document}.
|
10
|
+
# Non-shared {Layout::LayerInstance}s are unique per {Layout::Page}, while
|
11
|
+
# shared {Layout::LayerInstance}s are shared across all {Layout::Page}s of the
|
12
|
+
# {Layout::Document}.
|
13
|
+
#
|
14
|
+
# @example
|
15
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
16
|
+
# layers = doc.layers
|
17
|
+
# pages = doc.pages
|
18
|
+
# layers.each do |layer|
|
19
|
+
# layer_instance = layer.layer_instance(pages.first)
|
20
|
+
# entities = layer_instance.entities
|
21
|
+
# entities.each do |entity|
|
22
|
+
# new_index = rand(entities.length - 1)
|
23
|
+
# layer_instance.reorder_entity(entity, new_index)
|
24
|
+
# end
|
25
|
+
# end
|
26
|
+
#
|
27
|
+
# @version LayOut 2018
|
28
|
+
class Layout::LayerInstance
|
29
|
+
|
30
|
+
# Instance Methods
|
31
|
+
|
32
|
+
# The {#==} method checks to see if the two {Layout::LayerInstance}s are equal.
|
33
|
+
# This checks whether the Ruby Objects are pointing to the same internal
|
34
|
+
# object.
|
35
|
+
#
|
36
|
+
# @example
|
37
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
38
|
+
# document = doc.pages.first.document
|
39
|
+
# doc.page.layer_instances.first == document.page.layer_instances.first
|
40
|
+
#
|
41
|
+
# @param [Layout::LayerInstance] other
|
42
|
+
#
|
43
|
+
# @return [Boolean]
|
44
|
+
#
|
45
|
+
# @version LayOut 2018
|
46
|
+
def ==(other)
|
47
|
+
end
|
48
|
+
|
49
|
+
# The {#definition} method returns the {Layout::Layer} of the
|
50
|
+
# {Layout::LayerInstance}.
|
51
|
+
#
|
52
|
+
# @example
|
53
|
+
# layer_def = layer_instance.definition
|
54
|
+
#
|
55
|
+
# @return [Layout::Layer]
|
56
|
+
#
|
57
|
+
# @version LayOut 2018
|
58
|
+
def definition
|
59
|
+
end
|
60
|
+
|
61
|
+
# The {#entities} method returns the {Layout::Entities} on the
|
62
|
+
# {Layout::LayerInstance}.
|
63
|
+
#
|
64
|
+
# @example
|
65
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
66
|
+
# layers = doc.layers
|
67
|
+
# pages = doc.pages
|
68
|
+
# first_layer = layers.first
|
69
|
+
# entities = first_layer.layer_instance.entities
|
70
|
+
#
|
71
|
+
# @return [Layout::Entities]
|
72
|
+
#
|
73
|
+
# @version LayOut 2018
|
74
|
+
def entities
|
75
|
+
end
|
76
|
+
|
77
|
+
# The {#entity_index} method returns the index of the {Layout::Entity} on the
|
78
|
+
# {Layout::LayerInstance}.
|
79
|
+
#
|
80
|
+
# @example
|
81
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
82
|
+
# layers = doc.layers
|
83
|
+
# pages = doc.pages
|
84
|
+
# instance = layers.first.layer_instance
|
85
|
+
# instance.entities.each_with_index { |entity, index|
|
86
|
+
# puts "#{index} == #{instance.entity_index(entity)}"
|
87
|
+
# }
|
88
|
+
#
|
89
|
+
# @param [Layout::Entity] entity
|
90
|
+
# The entity to get the index of.
|
91
|
+
#
|
92
|
+
# @raise [ArgumentError] if entity is not on the {Layout::LayerInstance}
|
93
|
+
#
|
94
|
+
# @return [Integer]
|
95
|
+
#
|
96
|
+
# @version LayOut 2018
|
97
|
+
def entity_index(entity)
|
98
|
+
end
|
99
|
+
|
100
|
+
# The {#reorder_entity} method moves the {Layout::Entity} to the specified
|
101
|
+
# index.
|
102
|
+
#
|
103
|
+
# @example
|
104
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
105
|
+
# layers = doc.layers
|
106
|
+
# pages = doc.pages
|
107
|
+
# first_layer = layers.first
|
108
|
+
# first_layer.set_shared(pages.first, SHARELAYERACTION_KEEPONEPAGE);
|
109
|
+
# layer_instance = first_layer.layer_instance
|
110
|
+
# entities = layer_instance.entities
|
111
|
+
# # put the first entity into the back of the layer
|
112
|
+
# layer_instance.reorder_entity(entities.first, (entities.length - 1))
|
113
|
+
#
|
114
|
+
# @param [Layout::Entity] entity
|
115
|
+
# The {Layout::Entity} to reorder
|
116
|
+
#
|
117
|
+
# @param [Integer] index
|
118
|
+
# The desired index of the {Layout::Entity}
|
119
|
+
#
|
120
|
+
# @raise [ArgumentError] if entity is not on the {Layout::LayerInstance}
|
121
|
+
#
|
122
|
+
# @raise [IndexError] if index is out of range
|
123
|
+
#
|
124
|
+
# @version LayOut 2018
|
125
|
+
def reorder_entity(entity, index)
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|