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,261 +1,261 @@
|
|
1
|
-
# Copyright:: Copyright
|
2
|
-
# License:: The MIT License (MIT)
|
3
|
-
|
4
|
-
# A group is a special type of {Layout::Entity} that does not belong to a
|
5
|
-
# {Layout::Layer} and contains other {Layout::Entity}s as children. A
|
6
|
-
# {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
|
7
|
-
# hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
|
8
|
-
# contain at least one child and will be automatically collapsed if an
|
9
|
-
# operation is performed that results in the {Layout::Group} being empty.
|
10
|
-
#
|
11
|
-
# @version LayOut 2018
|
12
|
-
class Layout::Group < Layout::Entity
|
13
|
-
|
14
|
-
# Constants
|
15
|
-
|
16
|
-
RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
|
17
|
-
RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
|
18
|
-
RESIZE_BEHAVIOR_NONE = nil # Stub value.
|
19
|
-
|
20
|
-
# Instance Methods
|
21
|
-
|
22
|
-
# The {#entities} method returns the {Layout::Entities} that belong to the
|
23
|
-
# {Layout::Group}.
|
24
|
-
#
|
25
|
-
# @example
|
26
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
27
|
-
# group = doc.shared_entities.first
|
28
|
-
# entities = group.entities
|
29
|
-
#
|
30
|
-
# @return [Layout::Entities]
|
31
|
-
#
|
32
|
-
# @version LayOut 2018
|
33
|
-
def entities
|
34
|
-
end
|
35
|
-
|
36
|
-
# The {#initialize} method creates a new {Layout::Group}.
|
37
|
-
#
|
38
|
-
# @example
|
39
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
40
|
-
# entities = doc.shared_entities
|
41
|
-
# entities.each { |entity|
|
42
|
-
# entity_array.push(entity)
|
43
|
-
# }
|
44
|
-
# group = Layout::Group.new(entity_array)
|
45
|
-
#
|
46
|
-
# @param [Array<Layout::Entity>] entities
|
47
|
-
#
|
48
|
-
# @raise [ArgumentError] if entities is empty.
|
49
|
-
#
|
50
|
-
# @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
|
51
|
-
# different {Layout::Document}s
|
52
|
-
#
|
53
|
-
# @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
|
54
|
-
# belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
|
55
|
-
# {Layout::Document}
|
56
|
-
#
|
57
|
-
# @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
|
58
|
-
# and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
|
59
|
-
# belonging to different {Layout::Page}s
|
60
|
-
#
|
61
|
-
# @raise [ArgumentError] if entities contains the same {Layout::Entity} more
|
62
|
-
# than once
|
63
|
-
#
|
64
|
-
# @return [Layout::Group]
|
65
|
-
#
|
66
|
-
# @version LayOut 2018
|
67
|
-
def initialize(entities)
|
68
|
-
end
|
69
|
-
|
70
|
-
# The {#remove_scale_factor} method removes the scale factor from the
|
71
|
-
# {Layout::Group}.
|
72
|
-
#
|
73
|
-
# The resize behavior can be one of the following values:
|
74
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
|
75
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
|
76
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
|
77
|
-
#
|
78
|
-
# @example
|
79
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
80
|
-
# group = doc.shared_entities.first
|
81
|
-
# group.remove_scale_factor(true)
|
82
|
-
#
|
83
|
-
# @param [Integer] resize_behavior
|
84
|
-
#
|
85
|
-
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
86
|
-
#
|
87
|
-
# @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
|
88
|
-
#
|
89
|
-
# @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
|
90
|
-
#
|
91
|
-
# @version LayOut 2018
|
92
|
-
def remove_scale_factor(resize_behavior)
|
93
|
-
end
|
94
|
-
|
95
|
-
# The {#scale_factor} method returns the the scale factor associated with the
|
96
|
-
# {Layout::Group}.
|
97
|
-
#
|
98
|
-
# @example
|
99
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
100
|
-
# group = doc.shared_entities.first
|
101
|
-
# scale = group.scale_factor
|
102
|
-
#
|
103
|
-
# @return [Float, nil]
|
104
|
-
#
|
105
|
-
# @version LayOut 2018
|
106
|
-
def scale_factor
|
107
|
-
end
|
108
|
-
|
109
|
-
# The {#scale_precision} method returns the precision used for the scale of the
|
110
|
-
# {Layout::Group}.
|
111
|
-
#
|
112
|
-
# @example
|
113
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
114
|
-
# group = doc.shared_entities.first
|
115
|
-
# precision = group.scale_precision
|
116
|
-
#
|
117
|
-
# @return [Float] the number specifying the precision for the {Layout::Group}
|
118
|
-
#
|
119
|
-
# @version LayOut 2018
|
120
|
-
def scale_precision
|
121
|
-
end
|
122
|
-
|
123
|
-
# The {#scale_precision=} method sets the precision for the scale of the
|
124
|
-
# {Layout::Group}.
|
125
|
-
#
|
126
|
-
# @example
|
127
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
128
|
-
# group = doc.shared_entities.first
|
129
|
-
# group.scale_precision = 0.0001
|
130
|
-
#
|
131
|
-
# @note LayOut only allows for a finite set of precision values for each units
|
132
|
-
# setting, so it will set the precision to the closest valid setting for the
|
133
|
-
# specified units. See the "Units" section of LayOut's "Document Setup"
|
134
|
-
# dialog for a reference of the available precisions for each units setting.
|
135
|
-
#
|
136
|
-
# @param [Float] precision
|
137
|
-
# The double specifying the precision for the
|
138
|
-
# {Layout::Group}
|
139
|
-
#
|
140
|
-
# @version LayOut 2018
|
141
|
-
def scale_precision=(precision)
|
142
|
-
end
|
143
|
-
|
144
|
-
# The {#scale_units} method returns the units format used in the scale for the
|
145
|
-
# {Layout::Group}.
|
146
|
-
#
|
147
|
-
# The units format can be any of the following values:
|
148
|
-
# [Layout::Document::FRACTIONAL_INCHES]
|
149
|
-
# [Layout::Document::DECIMAL_INCHES]
|
150
|
-
# [Layout::Document::DECIMAL_FEET]
|
151
|
-
# [Layout::Document::DECIMAL_MILLIMETERS]
|
152
|
-
# [Layout::Document::DECIMAL_CENTIMETERS]
|
153
|
-
# [Layout::Document::DECIMAL_METERS]
|
154
|
-
# [Layout::Document::DECIMAL_POINTS]
|
155
|
-
#
|
156
|
-
# @example
|
157
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
158
|
-
# group = doc.shared_entities.first
|
159
|
-
# units = group.scale_units
|
160
|
-
#
|
161
|
-
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
162
|
-
#
|
163
|
-
# @return [Integer] units The units format of the scale factor
|
164
|
-
#
|
165
|
-
# @version LayOut 2018
|
166
|
-
def scale_units
|
167
|
-
end
|
168
|
-
|
169
|
-
# The {#scale_units=} method sets the the units format for the scale of the
|
170
|
-
# {Layout::Group}.
|
171
|
-
#
|
172
|
-
# The units format can be any of the following values:
|
173
|
-
# [Layout::Document::FRACTIONAL_INCHES]
|
174
|
-
# [Layout::Document::DECIMAL_INCHES]
|
175
|
-
# [Layout::Document::DECIMAL_FEET]
|
176
|
-
# [Layout::Document::DECIMAL_MILLIMETERS]
|
177
|
-
# [Layout::Document::DECIMAL_CENTIMETERS]
|
178
|
-
# [Layout::Document::DECIMAL_METERS]
|
179
|
-
# [Layout::Document::DECIMAL_POINTS]
|
180
|
-
#
|
181
|
-
# @example
|
182
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
183
|
-
# group = doc.shared_entities.first
|
184
|
-
# group.scale_units = Layout::Document::DECIMAL_FEET
|
185
|
-
#
|
186
|
-
# @param [Integer] units_format
|
187
|
-
#
|
188
|
-
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
189
|
-
#
|
190
|
-
# @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
|
191
|
-
#
|
192
|
-
# @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
|
193
|
-
#
|
194
|
-
# @raise [ArgumentError] if scale_units is not a valid value
|
195
|
-
#
|
196
|
-
# @version LayOut 2018
|
197
|
-
def scale_units=(units_format)
|
198
|
-
end
|
199
|
-
|
200
|
-
# The {#set_scale_factor} method sets the the scale factor for the
|
201
|
-
# {Layout::Group}.
|
202
|
-
#
|
203
|
-
# The units format can be any of the following values:
|
204
|
-
# [Layout::Document::FRACTIONAL_INCHES]
|
205
|
-
# [Layout::Document::DECIMAL_INCHES]
|
206
|
-
# [Layout::Document::DECIMAL_FEET]
|
207
|
-
# [Layout::Document::DECIMAL_MILLIMETERS]
|
208
|
-
# [Layout::Document::DECIMAL_CENTIMETERS]
|
209
|
-
# [Layout::Document::DECIMAL_METERS]
|
210
|
-
# [Layout::Document::DECIMAL_POINTS]
|
211
|
-
#
|
212
|
-
# The resize behavior can be one of the following values:
|
213
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
|
214
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
|
215
|
-
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
|
216
|
-
#
|
217
|
-
# @example
|
218
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
219
|
-
# group = doc.shared_entities.first
|
220
|
-
# group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
|
221
|
-
#
|
222
|
-
# @param [Float] scale_factor
|
223
|
-
#
|
224
|
-
# @param [Integer] units_format
|
225
|
-
#
|
226
|
-
# @param [Integer] resize_behavior
|
227
|
-
#
|
228
|
-
# @raise [LockedLayerError] if the {Layout::Group} is on a locked
|
229
|
-
# {Layout::Layer}
|
230
|
-
#
|
231
|
-
# @raise [LockedEntityError] if the {Layout::Group} is locked
|
232
|
-
#
|
233
|
-
# @raise [ArgumentError] if scale_factor is an invalid value
|
234
|
-
#
|
235
|
-
# @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
|
236
|
-
# factor because it is already inheriting a scale factor from its parent
|
237
|
-
#
|
238
|
-
# @raise [ArgumentError] if a scale factor cannot be set for the
|
239
|
-
# {Layout::Group}
|
240
|
-
#
|
241
|
-
# @version LayOut 2018
|
242
|
-
def set_scale_factor(scale_factor, units_format, resize_behavior)
|
243
|
-
end
|
244
|
-
|
245
|
-
# The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
|
246
|
-
# and deletes the {Layout::Group}.
|
247
|
-
#
|
248
|
-
# @example
|
249
|
-
# doc = Layout::Document.open("C:/path/to/document.layout")
|
250
|
-
# group = doc.shared_entities.first
|
251
|
-
# group.ungroup
|
252
|
-
#
|
253
|
-
# @raise [LockedEntityError] if the {Layout::Group} is locked
|
254
|
-
#
|
255
|
-
# @return [Boolean]
|
256
|
-
#
|
257
|
-
# @version LayOut 2018
|
258
|
-
def ungroup
|
259
|
-
end
|
260
|
-
|
261
|
-
end
|
1
|
+
# Copyright:: Copyright 2022 Trimble Inc.
|
2
|
+
# License:: The MIT License (MIT)
|
3
|
+
|
4
|
+
# A group is a special type of {Layout::Entity} that does not belong to a
|
5
|
+
# {Layout::Layer} and contains other {Layout::Entity}s as children. A
|
6
|
+
# {Layout::Group}'s children may include other {Layout::Group}s, allowing for a
|
7
|
+
# hierarchical tree structure of {Layout::Entity}s. A {Layout::Group} must
|
8
|
+
# contain at least one child and will be automatically collapsed if an
|
9
|
+
# operation is performed that results in the {Layout::Group} being empty.
|
10
|
+
#
|
11
|
+
# @version LayOut 2018
|
12
|
+
class Layout::Group < Layout::Entity
|
13
|
+
|
14
|
+
# Constants
|
15
|
+
|
16
|
+
RESIZE_BEHAVIOR_BOUNDS = nil # Stub value.
|
17
|
+
RESIZE_BEHAVIOR_BOUNDS_AND_FONTS = nil # Stub value.
|
18
|
+
RESIZE_BEHAVIOR_NONE = nil # Stub value.
|
19
|
+
|
20
|
+
# Instance Methods
|
21
|
+
|
22
|
+
# The {#entities} method returns the {Layout::Entities} that belong to the
|
23
|
+
# {Layout::Group}.
|
24
|
+
#
|
25
|
+
# @example
|
26
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
27
|
+
# group = doc.shared_entities.first
|
28
|
+
# entities = group.entities
|
29
|
+
#
|
30
|
+
# @return [Layout::Entities]
|
31
|
+
#
|
32
|
+
# @version LayOut 2018
|
33
|
+
def entities
|
34
|
+
end
|
35
|
+
|
36
|
+
# The {#initialize} method creates a new {Layout::Group}.
|
37
|
+
#
|
38
|
+
# @example
|
39
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
40
|
+
# entities = doc.shared_entities
|
41
|
+
# entities.each { |entity|
|
42
|
+
# entity_array.push(entity)
|
43
|
+
# }
|
44
|
+
# group = Layout::Group.new(entity_array)
|
45
|
+
#
|
46
|
+
# @param [Array<Layout::Entity>] entities
|
47
|
+
#
|
48
|
+
# @raise [ArgumentError] if entities is empty.
|
49
|
+
#
|
50
|
+
# @raise [ArgumentError] if entities contains {Layout::Entity}s that belong to
|
51
|
+
# different {Layout::Document}s
|
52
|
+
#
|
53
|
+
# @raise [ArgumentError] if entities contains a mix of {Layout::Entity}s that
|
54
|
+
# belong to a {Layout::Document} and {Layout::Entity}s that don't belong to a
|
55
|
+
# {Layout::Document}
|
56
|
+
#
|
57
|
+
# @raise [ArgumentError] if entities contains {Layout::Entity}s on both shared
|
58
|
+
# and non-shared {Layout::Layer}s, or on non-shared {Layout::Layer}s
|
59
|
+
# belonging to different {Layout::Page}s
|
60
|
+
#
|
61
|
+
# @raise [ArgumentError] if entities contains the same {Layout::Entity} more
|
62
|
+
# than once
|
63
|
+
#
|
64
|
+
# @return [Layout::Group]
|
65
|
+
#
|
66
|
+
# @version LayOut 2018
|
67
|
+
def initialize(entities)
|
68
|
+
end
|
69
|
+
|
70
|
+
# The {#remove_scale_factor} method removes the scale factor from the
|
71
|
+
# {Layout::Group}.
|
72
|
+
#
|
73
|
+
# The resize behavior can be one of the following values:
|
74
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
|
75
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
|
76
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
|
77
|
+
#
|
78
|
+
# @example
|
79
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
80
|
+
# group = doc.shared_entities.first
|
81
|
+
# group.remove_scale_factor(true)
|
82
|
+
#
|
83
|
+
# @param [Integer] resize_behavior
|
84
|
+
#
|
85
|
+
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
86
|
+
#
|
87
|
+
# @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
|
88
|
+
#
|
89
|
+
# @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
|
90
|
+
#
|
91
|
+
# @version LayOut 2018
|
92
|
+
def remove_scale_factor(resize_behavior)
|
93
|
+
end
|
94
|
+
|
95
|
+
# The {#scale_factor} method returns the the scale factor associated with the
|
96
|
+
# {Layout::Group}.
|
97
|
+
#
|
98
|
+
# @example
|
99
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
100
|
+
# group = doc.shared_entities.first
|
101
|
+
# scale = group.scale_factor
|
102
|
+
#
|
103
|
+
# @return [Float, nil]
|
104
|
+
#
|
105
|
+
# @version LayOut 2018
|
106
|
+
def scale_factor
|
107
|
+
end
|
108
|
+
|
109
|
+
# The {#scale_precision} method returns the precision used for the scale of the
|
110
|
+
# {Layout::Group}.
|
111
|
+
#
|
112
|
+
# @example
|
113
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
114
|
+
# group = doc.shared_entities.first
|
115
|
+
# precision = group.scale_precision
|
116
|
+
#
|
117
|
+
# @return [Float] the number specifying the precision for the {Layout::Group}
|
118
|
+
#
|
119
|
+
# @version LayOut 2018
|
120
|
+
def scale_precision
|
121
|
+
end
|
122
|
+
|
123
|
+
# The {#scale_precision=} method sets the precision for the scale of the
|
124
|
+
# {Layout::Group}.
|
125
|
+
#
|
126
|
+
# @example
|
127
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
128
|
+
# group = doc.shared_entities.first
|
129
|
+
# group.scale_precision = 0.0001
|
130
|
+
#
|
131
|
+
# @note LayOut only allows for a finite set of precision values for each units
|
132
|
+
# setting, so it will set the precision to the closest valid setting for the
|
133
|
+
# specified units. See the "Units" section of LayOut's "Document Setup"
|
134
|
+
# dialog for a reference of the available precisions for each units setting.
|
135
|
+
#
|
136
|
+
# @param [Float] precision
|
137
|
+
# The double specifying the precision for the
|
138
|
+
# {Layout::Group}
|
139
|
+
#
|
140
|
+
# @version LayOut 2018
|
141
|
+
def scale_precision=(precision)
|
142
|
+
end
|
143
|
+
|
144
|
+
# The {#scale_units} method returns the units format used in the scale for the
|
145
|
+
# {Layout::Group}.
|
146
|
+
#
|
147
|
+
# The units format can be any of the following values:
|
148
|
+
# [Layout::Document::FRACTIONAL_INCHES]
|
149
|
+
# [Layout::Document::DECIMAL_INCHES]
|
150
|
+
# [Layout::Document::DECIMAL_FEET]
|
151
|
+
# [Layout::Document::DECIMAL_MILLIMETERS]
|
152
|
+
# [Layout::Document::DECIMAL_CENTIMETERS]
|
153
|
+
# [Layout::Document::DECIMAL_METERS]
|
154
|
+
# [Layout::Document::DECIMAL_POINTS]
|
155
|
+
#
|
156
|
+
# @example
|
157
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
158
|
+
# group = doc.shared_entities.first
|
159
|
+
# units = group.scale_units
|
160
|
+
#
|
161
|
+
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
162
|
+
#
|
163
|
+
# @return [Integer] units The units format of the scale factor
|
164
|
+
#
|
165
|
+
# @version LayOut 2018
|
166
|
+
def scale_units
|
167
|
+
end
|
168
|
+
|
169
|
+
# The {#scale_units=} method sets the the units format for the scale of the
|
170
|
+
# {Layout::Group}.
|
171
|
+
#
|
172
|
+
# The units format can be any of the following values:
|
173
|
+
# [Layout::Document::FRACTIONAL_INCHES]
|
174
|
+
# [Layout::Document::DECIMAL_INCHES]
|
175
|
+
# [Layout::Document::DECIMAL_FEET]
|
176
|
+
# [Layout::Document::DECIMAL_MILLIMETERS]
|
177
|
+
# [Layout::Document::DECIMAL_CENTIMETERS]
|
178
|
+
# [Layout::Document::DECIMAL_METERS]
|
179
|
+
# [Layout::Document::DECIMAL_POINTS]
|
180
|
+
#
|
181
|
+
# @example
|
182
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
183
|
+
# group = doc.shared_entities.first
|
184
|
+
# group.scale_units = Layout::Document::DECIMAL_FEET
|
185
|
+
#
|
186
|
+
# @param [Integer] units_format
|
187
|
+
#
|
188
|
+
# @raise [ArgumentError] if the {Layout::Group} does not have a scale factor
|
189
|
+
#
|
190
|
+
# @raise [Layout::LockedEntityError] if the {Layout::Group} is locked
|
191
|
+
#
|
192
|
+
# @raise [Layout::LockedLayerError] if the {Layout::Group} is on a locked layer
|
193
|
+
#
|
194
|
+
# @raise [ArgumentError] if scale_units is not a valid value
|
195
|
+
#
|
196
|
+
# @version LayOut 2018
|
197
|
+
def scale_units=(units_format)
|
198
|
+
end
|
199
|
+
|
200
|
+
# The {#set_scale_factor} method sets the the scale factor for the
|
201
|
+
# {Layout::Group}.
|
202
|
+
#
|
203
|
+
# The units format can be any of the following values:
|
204
|
+
# [Layout::Document::FRACTIONAL_INCHES]
|
205
|
+
# [Layout::Document::DECIMAL_INCHES]
|
206
|
+
# [Layout::Document::DECIMAL_FEET]
|
207
|
+
# [Layout::Document::DECIMAL_MILLIMETERS]
|
208
|
+
# [Layout::Document::DECIMAL_CENTIMETERS]
|
209
|
+
# [Layout::Document::DECIMAL_METERS]
|
210
|
+
# [Layout::Document::DECIMAL_POINTS]
|
211
|
+
#
|
212
|
+
# The resize behavior can be one of the following values:
|
213
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_NONE+]
|
214
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS+]
|
215
|
+
# [+Layout::Group::RESIZE_BEHAVIOR_BOUNDS_AND_FONTS+]
|
216
|
+
#
|
217
|
+
# @example
|
218
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
219
|
+
# group = doc.shared_entities.first
|
220
|
+
# group.set_scale_factor(2.0, Layout::Group::RESIZE_BEHAVIOR_BOUNDS)
|
221
|
+
#
|
222
|
+
# @param [Float] scale_factor
|
223
|
+
#
|
224
|
+
# @param [Integer] units_format
|
225
|
+
#
|
226
|
+
# @param [Integer] resize_behavior
|
227
|
+
#
|
228
|
+
# @raise [LockedLayerError] if the {Layout::Group} is on a locked
|
229
|
+
# {Layout::Layer}
|
230
|
+
#
|
231
|
+
# @raise [LockedEntityError] if the {Layout::Group} is locked
|
232
|
+
#
|
233
|
+
# @raise [ArgumentError] if scale_factor is an invalid value
|
234
|
+
#
|
235
|
+
# @raise [ArgumentError] if the {Layout::Group} cannot be assigned a scale
|
236
|
+
# factor because it is already inheriting a scale factor from its parent
|
237
|
+
#
|
238
|
+
# @raise [ArgumentError] if a scale factor cannot be set for the
|
239
|
+
# {Layout::Group}
|
240
|
+
#
|
241
|
+
# @version LayOut 2018
|
242
|
+
def set_scale_factor(scale_factor, units_format, resize_behavior)
|
243
|
+
end
|
244
|
+
|
245
|
+
# The {#ungroup} method removes all {Layout::Entity}s from the {Layout::Group}
|
246
|
+
# and deletes the {Layout::Group}.
|
247
|
+
#
|
248
|
+
# @example
|
249
|
+
# doc = Layout::Document.open("C:/path/to/document.layout")
|
250
|
+
# group = doc.shared_entities.first
|
251
|
+
# group.ungroup
|
252
|
+
#
|
253
|
+
# @raise [LockedEntityError] if the {Layout::Group} is locked
|
254
|
+
#
|
255
|
+
# @return [Boolean]
|
256
|
+
#
|
257
|
+
# @version LayOut 2018
|
258
|
+
def ungroup
|
259
|
+
end
|
260
|
+
|
261
|
+
end
|