# Copyright 2015 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module DocsV1 # A ParagraphElement representing a # spot in the text that is dynamically replaced with content that can change # over time, like a page number. class AutoText include Google::Apis::Core::Hashable # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. An AutoText # may have multiple insertion IDs if it is a nested suggested change. If # empty, then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this AutoText, keyed by suggestion ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style # The type of this auto text. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) @type = args[:type] if args.key?(:type) end end # Represents the background of a document. class Background include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `color` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) end end # A mask that indicates which of the fields on the base Background have been # changed in this suggestion. # For any field set to true, the Backgound has a new suggested value. class BackgroundSuggestionState include Google::Apis::Core::Hashable # Indicates whether the current background color has been modified in this # suggestion. # Corresponds to the JSON property `backgroundColorSuggested` # @return [Boolean] attr_accessor :background_color_suggested alias_method :background_color_suggested?, :background_color_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color_suggested = args[:background_color_suggested] if args.key?(:background_color_suggested) end end # Request message for BatchUpdateDocument. class BatchUpdateDocumentRequest include Google::Apis::Core::Hashable # A list of updates to apply to the document. # Corresponds to the JSON property `requests` # @return [Array] attr_accessor :requests # Provides control over how write requests are executed. # Corresponds to the JSON property `writeControl` # @return [Google::Apis::DocsV1::WriteControl] attr_accessor :write_control def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @requests = args[:requests] if args.key?(:requests) @write_control = args[:write_control] if args.key?(:write_control) end end # Response message from a BatchUpdateDocument request. class BatchUpdateDocumentResponse include Google::Apis::Core::Hashable # The ID of the document to which the updates were applied to. # Corresponds to the JSON property `documentId` # @return [String] attr_accessor :document_id # The reply of the updates. This maps 1:1 with the updates, although replies # to some requests may be empty. # Corresponds to the JSON property `replies` # @return [Array] attr_accessor :replies # Provides control over how write requests are executed. # Corresponds to the JSON property `writeControl` # @return [Google::Apis::DocsV1::WriteControl] attr_accessor :write_control def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document_id = args[:document_id] if args.key?(:document_id) @replies = args[:replies] if args.key?(:replies) @write_control = args[:write_control] if args.key?(:write_control) end end # The document body. # The body typically contains the full document contents except for # headers, footers # and footnotes. class Body include Google::Apis::Core::Hashable # The contents of the body. # The indexes for the body's content begin at zero. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) end end # Describes the bullet of a paragraph. class Bullet include Google::Apis::Core::Hashable # The ID of the list this paragraph belongs to. # Corresponds to the JSON property `listId` # @return [String] attr_accessor :list_id # The nesting level of this paragraph in the list. # Corresponds to the JSON property `nestingLevel` # @return [Fixnum] attr_accessor :nesting_level # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @list_id = args[:list_id] if args.key?(:list_id) @nesting_level = args[:nesting_level] if args.key?(:nesting_level) @text_style = args[:text_style] if args.key?(:text_style) end end # A mask that indicates which of the fields on the base # Bullet have been changed in this suggestion. # For any field set to true, there is a new suggested value. class BulletSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to the # list_id. # Corresponds to the JSON property `listIdSuggested` # @return [Boolean] attr_accessor :list_id_suggested alias_method :list_id_suggested?, :list_id_suggested # Indicates if there was a suggested change to the # nesting_level. # Corresponds to the JSON property `nestingLevelSuggested` # @return [Boolean] attr_accessor :nesting_level_suggested alias_method :nesting_level_suggested?, :nesting_level_suggested # A mask that indicates which of the fields on the base TextStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `textStyleSuggestionState` # @return [Google::Apis::DocsV1::TextStyleSuggestionState] attr_accessor :text_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @list_id_suggested = args[:list_id_suggested] if args.key?(:list_id_suggested) @nesting_level_suggested = args[:nesting_level_suggested] if args.key?(:nesting_level_suggested) @text_style_suggestion_state = args[:text_style_suggestion_state] if args.key?(:text_style_suggestion_state) end end # A solid color. class Color include Google::Apis::Core::Hashable # An RGB color. # Corresponds to the JSON property `rgbColor` # @return [Google::Apis::DocsV1::RgbColor] attr_accessor :rgb_color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @rgb_color = args[:rgb_color] if args.key?(:rgb_color) end end # A ParagraphElement representing a # column break. A column break makes the subsequent text start at the top of # the next column. class ColumnBreak include Google::Apis::Core::Hashable # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if # it is # a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this ColumnBreak, keyed by suggestion # ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # Creates a NamedRange referencing the given # range. class CreateNamedRangeRequest include Google::Apis::Core::Hashable # The name of the NamedRange. Names do not need to be unique. # Names must be at least 1 character and no more than 256 characters, # measured in UTF-16 code units. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @range = args[:range] if args.key?(:range) end end # The result of creating a named range. class CreateNamedRangeResponse include Google::Apis::Core::Hashable # The ID of the created named range. # Corresponds to the JSON property `namedRangeId` # @return [String] attr_accessor :named_range_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @named_range_id = args[:named_range_id] if args.key?(:named_range_id) end end # Creates bullets for all of the paragraphs that overlap with the given range. # The nesting level of each paragraph will be determined by counting leading # tabs in front of each paragraph. To avoid excess space between the bullet and # the corresponding paragraph, these leading tabs are removed by this request. # This may change the indices of parts of the text. # If the paragraph immediately before paragraphs being updated is in a list # with a matching preset, the paragraphs being updated are added to that # preceding list. class CreateParagraphBulletsRequest include Google::Apis::Core::Hashable # The kinds of bullet glyphs to be used. # Corresponds to the JSON property `bulletPreset` # @return [String] attr_accessor :bullet_preset # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_preset = args[:bullet_preset] if args.key?(:bullet_preset) @range = args[:range] if args.key?(:range) end end # The crop properties of an image. # The crop rectangle is represented using fractional offsets from the original # content's four edges. # - If the offset is in the interval (0, 1), the corresponding edge of crop # rectangle is positioned inside of the image's original bounding rectangle. # - If the offset is negative or greater than 1, the corresponding edge of crop # rectangle is positioned outside of the image's original bounding rectangle. # - If all offsets and rotation angle are 0, the image is not cropped. class CropProperties include Google::Apis::Core::Hashable # The clockwise rotation angle of the crop rectangle around its center, in # radians. Rotation is applied after the offsets. # Corresponds to the JSON property `angle` # @return [Float] attr_accessor :angle # The offset specifies how far inwards the bottom edge of the crop rectangle # is from the bottom edge of the original content as a fraction of the # original content's height. # Corresponds to the JSON property `offsetBottom` # @return [Float] attr_accessor :offset_bottom # The offset specifies how far inwards the left edge of the crop rectangle is # from the left edge of the original content as a fraction of the original # content's width. # Corresponds to the JSON property `offsetLeft` # @return [Float] attr_accessor :offset_left # The offset specifies how far inwards the right edge of the crop rectangle # is from the right edge of the original content as a fraction of the # original content's width. # Corresponds to the JSON property `offsetRight` # @return [Float] attr_accessor :offset_right # The offset specifies how far inwards the top edge of the crop rectangle is # from the top edge of the original content as a fraction of the original # content's height. # Corresponds to the JSON property `offsetTop` # @return [Float] attr_accessor :offset_top def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @angle = args[:angle] if args.key?(:angle) @offset_bottom = args[:offset_bottom] if args.key?(:offset_bottom) @offset_left = args[:offset_left] if args.key?(:offset_left) @offset_right = args[:offset_right] if args.key?(:offset_right) @offset_top = args[:offset_top] if args.key?(:offset_top) end end # A mask that indicates which of the fields on the base CropProperties have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class CropPropertiesSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to angle. # Corresponds to the JSON property `angleSuggested` # @return [Boolean] attr_accessor :angle_suggested alias_method :angle_suggested?, :angle_suggested # Indicates if there was a suggested change to offset_bottom. # Corresponds to the JSON property `offsetBottomSuggested` # @return [Boolean] attr_accessor :offset_bottom_suggested alias_method :offset_bottom_suggested?, :offset_bottom_suggested # Indicates if there was a suggested change to offset_left. # Corresponds to the JSON property `offsetLeftSuggested` # @return [Boolean] attr_accessor :offset_left_suggested alias_method :offset_left_suggested?, :offset_left_suggested # Indicates if there was a suggested change to offset_right. # Corresponds to the JSON property `offsetRightSuggested` # @return [Boolean] attr_accessor :offset_right_suggested alias_method :offset_right_suggested?, :offset_right_suggested # Indicates if there was a suggested change to offset_top. # Corresponds to the JSON property `offsetTopSuggested` # @return [Boolean] attr_accessor :offset_top_suggested alias_method :offset_top_suggested?, :offset_top_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @angle_suggested = args[:angle_suggested] if args.key?(:angle_suggested) @offset_bottom_suggested = args[:offset_bottom_suggested] if args.key?(:offset_bottom_suggested) @offset_left_suggested = args[:offset_left_suggested] if args.key?(:offset_left_suggested) @offset_right_suggested = args[:offset_right_suggested] if args.key?(:offset_right_suggested) @offset_top_suggested = args[:offset_top_suggested] if args.key?(:offset_top_suggested) end end # Deletes content from the document. class DeleteContentRangeRequest include Google::Apis::Core::Hashable # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @range = args[:range] if args.key?(:range) end end # Deletes a NamedRange. class DeleteNamedRangeRequest include Google::Apis::Core::Hashable # The name of the range(s) to delete. All named ranges with the given # name will be deleted. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The ID of the named range to delete. # Corresponds to the JSON property `namedRangeId` # @return [String] attr_accessor :named_range_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @named_range_id = args[:named_range_id] if args.key?(:named_range_id) end end # Deletes bullets from all of the paragraphs that overlap with the given range. # The nesting level of each paragraph will be visually preserved by adding # indent to the start of the corresponding paragraph. class DeleteParagraphBulletsRequest include Google::Apis::Core::Hashable # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @range = args[:range] if args.key?(:range) end end # Deletes a PositionedObject from the # document. class DeletePositionedObjectRequest include Google::Apis::Core::Hashable # The ID of the positioned object to delete. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Deletes a column from a table. class DeleteTableColumnRequest include Google::Apis::Core::Hashable # Location of a single cell within a table. # Corresponds to the JSON property `tableCellLocation` # @return [Google::Apis::DocsV1::TableCellLocation] attr_accessor :table_cell_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_cell_location = args[:table_cell_location] if args.key?(:table_cell_location) end end # Deletes a row from a table. class DeleteTableRowRequest include Google::Apis::Core::Hashable # Location of a single cell within a table. # Corresponds to the JSON property `tableCellLocation` # @return [Google::Apis::DocsV1::TableCellLocation] attr_accessor :table_cell_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_cell_location = args[:table_cell_location] if args.key?(:table_cell_location) end end # A magnitude in a single direction in the specified units. class Dimension include Google::Apis::Core::Hashable # The magnitude. # Corresponds to the JSON property `magnitude` # @return [Float] attr_accessor :magnitude # The units for magnitude. # Corresponds to the JSON property `unit` # @return [String] attr_accessor :unit def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @magnitude = args[:magnitude] if args.key?(:magnitude) @unit = args[:unit] if args.key?(:unit) end end # A Google Docs document. class Document include Google::Apis::Core::Hashable # The document body. # The body typically contains the full document contents except for # headers, footers # and footnotes. # Corresponds to the JSON property `body` # @return [Google::Apis::DocsV1::Body] attr_accessor :body # The ID of the document. # Corresponds to the JSON property `documentId` # @return [String] attr_accessor :document_id # The style of the document. # Corresponds to the JSON property `documentStyle` # @return [Google::Apis::DocsV1::DocumentStyle] attr_accessor :document_style # The footers in the document, keyed by footer ID. # Corresponds to the JSON property `footers` # @return [Hash] attr_accessor :footers # The footnotes in the document, keyed by footnote ID. # Corresponds to the JSON property `footnotes` # @return [Hash] attr_accessor :footnotes # The headers in the document, keyed by header ID. # Corresponds to the JSON property `headers` # @return [Hash] attr_accessor :headers # The inline objects in the document, keyed by object ID. # Corresponds to the JSON property `inlineObjects` # @return [Hash] attr_accessor :inline_objects # The lists in the document, keyed by list ID. # Corresponds to the JSON property `lists` # @return [Hash] attr_accessor :lists # The named ranges in the document, keyed by name. # Corresponds to the JSON property `namedRanges` # @return [Hash] attr_accessor :named_ranges # The named styles. Paragraphs in the document can inherit their # TextStyle and # ParagraphStyle from these named styles. # Corresponds to the JSON property `namedStyles` # @return [Google::Apis::DocsV1::NamedStyles] attr_accessor :named_styles # The positioned objects in the document, keyed by object ID. # Corresponds to the JSON property `positionedObjects` # @return [Hash] attr_accessor :positioned_objects # The revision ID of the document. Can be used in update requests to specify # which revision of a document to apply updates to and how the request should # behave if the document has been edited since that revision. Only populated # if the user has edit access to the document. # The format of the revision ID may change over time, so it should be treated # opaquely. A returned revision ID is only guaranteed to be valid for 24 # hours after it has been returned and cannot be shared across users. If the # revision ID is unchanged between calls, then the document has not changed. # Conversely, a changed ID (for the same document and user) usually means the # document has been updated; however, a changed ID can also be due to # internal factors such as ID format changes. # Corresponds to the JSON property `revisionId` # @return [String] attr_accessor :revision_id # The suggested changes to the style of the document, keyed by suggestion ID. # Corresponds to the JSON property `suggestedDocumentStyleChanges` # @return [Hash] attr_accessor :suggested_document_style_changes # The suggested changes to the named styles of the document, keyed by # suggestion ID. # Corresponds to the JSON property `suggestedNamedStylesChanges` # @return [Hash] attr_accessor :suggested_named_styles_changes # The suggestions view mode applied to the document. # Note: When editing a document, changes must be based on a document with # SUGGESTIONS_INLINE. # Corresponds to the JSON property `suggestionsViewMode` # @return [String] attr_accessor :suggestions_view_mode # The title of the document. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @body = args[:body] if args.key?(:body) @document_id = args[:document_id] if args.key?(:document_id) @document_style = args[:document_style] if args.key?(:document_style) @footers = args[:footers] if args.key?(:footers) @footnotes = args[:footnotes] if args.key?(:footnotes) @headers = args[:headers] if args.key?(:headers) @inline_objects = args[:inline_objects] if args.key?(:inline_objects) @lists = args[:lists] if args.key?(:lists) @named_ranges = args[:named_ranges] if args.key?(:named_ranges) @named_styles = args[:named_styles] if args.key?(:named_styles) @positioned_objects = args[:positioned_objects] if args.key?(:positioned_objects) @revision_id = args[:revision_id] if args.key?(:revision_id) @suggested_document_style_changes = args[:suggested_document_style_changes] if args.key?(:suggested_document_style_changes) @suggested_named_styles_changes = args[:suggested_named_styles_changes] if args.key?(:suggested_named_styles_changes) @suggestions_view_mode = args[:suggestions_view_mode] if args.key?(:suggestions_view_mode) @title = args[:title] if args.key?(:title) end end # The style of the document. class DocumentStyle include Google::Apis::Core::Hashable # Represents the background of a document. # Corresponds to the JSON property `background` # @return [Google::Apis::DocsV1::Background] attr_accessor :background # The ID of the default footer. If not set, there is no default footer. # Corresponds to the JSON property `defaultFooterId` # @return [String] attr_accessor :default_footer_id # The ID of the default header. If not set, there is no default header. # Corresponds to the JSON property `defaultHeaderId` # @return [String] attr_accessor :default_header_id # The ID of the footer used only for even pages. The value of # use_even_page_header_footer determines # whether to use the default_footer_id or this value for the # footer on even pages. If not set, there is no even page footer. # Corresponds to the JSON property `evenPageFooterId` # @return [String] attr_accessor :even_page_footer_id # The ID of the header used only for even pages. The value of # use_even_page_header_footer determines # whether to use the default_header_id or this value for the # header on even pages. If not set, there is no even page header. # Corresponds to the JSON property `evenPageHeaderId` # @return [String] attr_accessor :even_page_header_id # The ID of the footer used only for the first page. If not set then # a unique footer for the first page does not exist. The value of # use_first_page_header_footer determines # whether to use the default_footer_id or this value for the # footer on the first page. If not set, there is no first page footer. # Corresponds to the JSON property `firstPageFooterId` # @return [String] attr_accessor :first_page_footer_id # The ID of the header used only for the first page. If not set then # a unique header for the first page does not exist. # The value of use_first_page_header_footer determines # whether to use the default_header_id or this value for the # header on the first page. If not set, there is no first page header. # Corresponds to the JSON property `firstPageHeaderId` # @return [String] attr_accessor :first_page_header_id # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginBottom` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_bottom # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginLeft` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_left # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginRight` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_right # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginTop` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_top # The page number from which to start counting the number of pages. # Corresponds to the JSON property `pageNumberStart` # @return [Fixnum] attr_accessor :page_number_start # A width and height. # Corresponds to the JSON property `pageSize` # @return [Google::Apis::DocsV1::Size] attr_accessor :page_size # Indicates whether to use the even page header / footer IDs for the even # pages. # Corresponds to the JSON property `useEvenPageHeaderFooter` # @return [Boolean] attr_accessor :use_even_page_header_footer alias_method :use_even_page_header_footer?, :use_even_page_header_footer # Indicates whether to use the first page header / footer IDs for the first # page. # Corresponds to the JSON property `useFirstPageHeaderFooter` # @return [Boolean] attr_accessor :use_first_page_header_footer alias_method :use_first_page_header_footer?, :use_first_page_header_footer def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background = args[:background] if args.key?(:background) @default_footer_id = args[:default_footer_id] if args.key?(:default_footer_id) @default_header_id = args[:default_header_id] if args.key?(:default_header_id) @even_page_footer_id = args[:even_page_footer_id] if args.key?(:even_page_footer_id) @even_page_header_id = args[:even_page_header_id] if args.key?(:even_page_header_id) @first_page_footer_id = args[:first_page_footer_id] if args.key?(:first_page_footer_id) @first_page_header_id = args[:first_page_header_id] if args.key?(:first_page_header_id) @margin_bottom = args[:margin_bottom] if args.key?(:margin_bottom) @margin_left = args[:margin_left] if args.key?(:margin_left) @margin_right = args[:margin_right] if args.key?(:margin_right) @margin_top = args[:margin_top] if args.key?(:margin_top) @page_number_start = args[:page_number_start] if args.key?(:page_number_start) @page_size = args[:page_size] if args.key?(:page_size) @use_even_page_header_footer = args[:use_even_page_header_footer] if args.key?(:use_even_page_header_footer) @use_first_page_header_footer = args[:use_first_page_header_footer] if args.key?(:use_first_page_header_footer) end end # A mask that indicates which of the fields on the base DocumentStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class DocumentStyleSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the base Background have been # changed in this suggestion. # For any field set to true, the Backgound has a new suggested value. # Corresponds to the JSON property `backgroundSuggestionState` # @return [Google::Apis::DocsV1::BackgroundSuggestionState] attr_accessor :background_suggestion_state # Indicates if there was a suggested change to default_footer_id. # Corresponds to the JSON property `defaultFooterIdSuggested` # @return [Boolean] attr_accessor :default_footer_id_suggested alias_method :default_footer_id_suggested?, :default_footer_id_suggested # Indicates if there was a suggested change to default_header_id. # Corresponds to the JSON property `defaultHeaderIdSuggested` # @return [Boolean] attr_accessor :default_header_id_suggested alias_method :default_header_id_suggested?, :default_header_id_suggested # Indicates if there was a suggested change to even_page_footer_id. # Corresponds to the JSON property `evenPageFooterIdSuggested` # @return [Boolean] attr_accessor :even_page_footer_id_suggested alias_method :even_page_footer_id_suggested?, :even_page_footer_id_suggested # Indicates if there was a suggested change to even_page_header_id. # Corresponds to the JSON property `evenPageHeaderIdSuggested` # @return [Boolean] attr_accessor :even_page_header_id_suggested alias_method :even_page_header_id_suggested?, :even_page_header_id_suggested # Indicates if there was a suggested change to first_page_footer_id. # Corresponds to the JSON property `firstPageFooterIdSuggested` # @return [Boolean] attr_accessor :first_page_footer_id_suggested alias_method :first_page_footer_id_suggested?, :first_page_footer_id_suggested # Indicates if there was a suggested change to first_page_header_id. # Corresponds to the JSON property `firstPageHeaderIdSuggested` # @return [Boolean] attr_accessor :first_page_header_id_suggested alias_method :first_page_header_id_suggested?, :first_page_header_id_suggested # Indicates if there was a suggested change to margin_bottom. # Corresponds to the JSON property `marginBottomSuggested` # @return [Boolean] attr_accessor :margin_bottom_suggested alias_method :margin_bottom_suggested?, :margin_bottom_suggested # Indicates if there was a suggested change to margin_left. # Corresponds to the JSON property `marginLeftSuggested` # @return [Boolean] attr_accessor :margin_left_suggested alias_method :margin_left_suggested?, :margin_left_suggested # Indicates if there was a suggested change to margin_right. # Corresponds to the JSON property `marginRightSuggested` # @return [Boolean] attr_accessor :margin_right_suggested alias_method :margin_right_suggested?, :margin_right_suggested # Indicates if there was a suggested change to margin_top. # Corresponds to the JSON property `marginTopSuggested` # @return [Boolean] attr_accessor :margin_top_suggested alias_method :margin_top_suggested?, :margin_top_suggested # Indicates if there was a suggested change to page_number_start. # Corresponds to the JSON property `pageNumberStartSuggested` # @return [Boolean] attr_accessor :page_number_start_suggested alias_method :page_number_start_suggested?, :page_number_start_suggested # A mask that indicates which of the fields on the base Size have been changed # in this suggestion. # For any field set to true, the Size has # a new suggested value. # Corresponds to the JSON property `pageSizeSuggestionState` # @return [Google::Apis::DocsV1::SizeSuggestionState] attr_accessor :page_size_suggestion_state # Indicates if there was a suggested change to use_even_page_header_footer. # Corresponds to the JSON property `useEvenPageHeaderFooterSuggested` # @return [Boolean] attr_accessor :use_even_page_header_footer_suggested alias_method :use_even_page_header_footer_suggested?, :use_even_page_header_footer_suggested # Indicates if there was a suggested change to use_first_page_header_footer. # Corresponds to the JSON property `useFirstPageHeaderFooterSuggested` # @return [Boolean] attr_accessor :use_first_page_header_footer_suggested alias_method :use_first_page_header_footer_suggested?, :use_first_page_header_footer_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_suggestion_state = args[:background_suggestion_state] if args.key?(:background_suggestion_state) @default_footer_id_suggested = args[:default_footer_id_suggested] if args.key?(:default_footer_id_suggested) @default_header_id_suggested = args[:default_header_id_suggested] if args.key?(:default_header_id_suggested) @even_page_footer_id_suggested = args[:even_page_footer_id_suggested] if args.key?(:even_page_footer_id_suggested) @even_page_header_id_suggested = args[:even_page_header_id_suggested] if args.key?(:even_page_header_id_suggested) @first_page_footer_id_suggested = args[:first_page_footer_id_suggested] if args.key?(:first_page_footer_id_suggested) @first_page_header_id_suggested = args[:first_page_header_id_suggested] if args.key?(:first_page_header_id_suggested) @margin_bottom_suggested = args[:margin_bottom_suggested] if args.key?(:margin_bottom_suggested) @margin_left_suggested = args[:margin_left_suggested] if args.key?(:margin_left_suggested) @margin_right_suggested = args[:margin_right_suggested] if args.key?(:margin_right_suggested) @margin_top_suggested = args[:margin_top_suggested] if args.key?(:margin_top_suggested) @page_number_start_suggested = args[:page_number_start_suggested] if args.key?(:page_number_start_suggested) @page_size_suggestion_state = args[:page_size_suggestion_state] if args.key?(:page_size_suggestion_state) @use_even_page_header_footer_suggested = args[:use_even_page_header_footer_suggested] if args.key?(:use_even_page_header_footer_suggested) @use_first_page_header_footer_suggested = args[:use_first_page_header_footer_suggested] if args.key?(:use_first_page_header_footer_suggested) end end # The properties of an embedded drawing. class EmbeddedDrawingProperties include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # A mask that indicates which of the fields on the base # EmbeddedDrawingProperties # have been changed in this suggestion. For any field set to true, there is a # new suggested value. class EmbeddedDrawingPropertiesSuggestionState include Google::Apis::Core::Hashable def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) end end # An embedded object in the document. class EmbeddedObject include Google::Apis::Core::Hashable # The description of the embedded object. The `title` and `description` are # both combined to display alt text. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # The properties of an embedded drawing. # Corresponds to the JSON property `embeddedDrawingProperties` # @return [Google::Apis::DocsV1::EmbeddedDrawingProperties] attr_accessor :embedded_drawing_properties # A border around an EmbeddedObject. # Corresponds to the JSON property `embeddedObjectBorder` # @return [Google::Apis::DocsV1::EmbeddedObjectBorder] attr_accessor :embedded_object_border # The properties of an image. # Corresponds to the JSON property `imageProperties` # @return [Google::Apis::DocsV1::ImageProperties] attr_accessor :image_properties # A reference to the external linked source content. # Corresponds to the JSON property `linkedContentReference` # @return [Google::Apis::DocsV1::LinkedContentReference] attr_accessor :linked_content_reference # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginBottom` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_bottom # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginLeft` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_left # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginRight` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_right # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `marginTop` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :margin_top # A width and height. # Corresponds to the JSON property `size` # @return [Google::Apis::DocsV1::Size] attr_accessor :size # The title of the embedded object. The `title` and `description` are both # combined to display alt text. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description = args[:description] if args.key?(:description) @embedded_drawing_properties = args[:embedded_drawing_properties] if args.key?(:embedded_drawing_properties) @embedded_object_border = args[:embedded_object_border] if args.key?(:embedded_object_border) @image_properties = args[:image_properties] if args.key?(:image_properties) @linked_content_reference = args[:linked_content_reference] if args.key?(:linked_content_reference) @margin_bottom = args[:margin_bottom] if args.key?(:margin_bottom) @margin_left = args[:margin_left] if args.key?(:margin_left) @margin_right = args[:margin_right] if args.key?(:margin_right) @margin_top = args[:margin_top] if args.key?(:margin_top) @size = args[:size] if args.key?(:size) @title = args[:title] if args.key?(:title) end end # A border around an EmbeddedObject. class EmbeddedObjectBorder include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `color` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :color # The dash style of the border. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # The property state of the border property. # Corresponds to the JSON property `propertyState` # @return [String] attr_accessor :property_state # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) @dash_style = args[:dash_style] if args.key?(:dash_style) @property_state = args[:property_state] if args.key?(:property_state) @width = args[:width] if args.key?(:width) end end # A mask that indicates which of the fields on the base EmbeddedObjectBorder # have been changed in this # suggestion. For any field set to true, there is a new suggested value. class EmbeddedObjectBorderSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to color. # Corresponds to the JSON property `colorSuggested` # @return [Boolean] attr_accessor :color_suggested alias_method :color_suggested?, :color_suggested # Indicates if there was a suggested change to dash_style. # Corresponds to the JSON property `dashStyleSuggested` # @return [Boolean] attr_accessor :dash_style_suggested alias_method :dash_style_suggested?, :dash_style_suggested # Indicates if there was a suggested change to property_state. # Corresponds to the JSON property `propertyStateSuggested` # @return [Boolean] attr_accessor :property_state_suggested alias_method :property_state_suggested?, :property_state_suggested # Indicates if there was a suggested change to width. # Corresponds to the JSON property `widthSuggested` # @return [Boolean] attr_accessor :width_suggested alias_method :width_suggested?, :width_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color_suggested = args[:color_suggested] if args.key?(:color_suggested) @dash_style_suggested = args[:dash_style_suggested] if args.key?(:dash_style_suggested) @property_state_suggested = args[:property_state_suggested] if args.key?(:property_state_suggested) @width_suggested = args[:width_suggested] if args.key?(:width_suggested) end end # A mask that indicates which of the fields on the base EmbeddedObject have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class EmbeddedObjectSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to description. # Corresponds to the JSON property `descriptionSuggested` # @return [Boolean] attr_accessor :description_suggested alias_method :description_suggested?, :description_suggested # A mask that indicates which of the fields on the base # EmbeddedDrawingProperties # have been changed in this suggestion. For any field set to true, there is a # new suggested value. # Corresponds to the JSON property `embeddedDrawingPropertiesSuggestionState` # @return [Google::Apis::DocsV1::EmbeddedDrawingPropertiesSuggestionState] attr_accessor :embedded_drawing_properties_suggestion_state # A mask that indicates which of the fields on the base EmbeddedObjectBorder # have been changed in this # suggestion. For any field set to true, there is a new suggested value. # Corresponds to the JSON property `embeddedObjectBorderSuggestionState` # @return [Google::Apis::DocsV1::EmbeddedObjectBorderSuggestionState] attr_accessor :embedded_object_border_suggestion_state # A mask that indicates which of the fields on the base ImageProperties have # been changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `imagePropertiesSuggestionState` # @return [Google::Apis::DocsV1::ImagePropertiesSuggestionState] attr_accessor :image_properties_suggestion_state # A mask that indicates which of the fields on the base # LinkedContentReference have # been changed in this suggestion. For any field set to true, there is a new # suggested value. # Corresponds to the JSON property `linkedContentReferenceSuggestionState` # @return [Google::Apis::DocsV1::LinkedContentReferenceSuggestionState] attr_accessor :linked_content_reference_suggestion_state # Indicates if there was a suggested change to margin_bottom. # Corresponds to the JSON property `marginBottomSuggested` # @return [Boolean] attr_accessor :margin_bottom_suggested alias_method :margin_bottom_suggested?, :margin_bottom_suggested # Indicates if there was a suggested change to margin_left. # Corresponds to the JSON property `marginLeftSuggested` # @return [Boolean] attr_accessor :margin_left_suggested alias_method :margin_left_suggested?, :margin_left_suggested # Indicates if there was a suggested change to margin_right. # Corresponds to the JSON property `marginRightSuggested` # @return [Boolean] attr_accessor :margin_right_suggested alias_method :margin_right_suggested?, :margin_right_suggested # Indicates if there was a suggested change to margin_top. # Corresponds to the JSON property `marginTopSuggested` # @return [Boolean] attr_accessor :margin_top_suggested alias_method :margin_top_suggested?, :margin_top_suggested # A mask that indicates which of the fields on the base Size have been changed # in this suggestion. # For any field set to true, the Size has # a new suggested value. # Corresponds to the JSON property `sizeSuggestionState` # @return [Google::Apis::DocsV1::SizeSuggestionState] attr_accessor :size_suggestion_state # Indicates if there was a suggested change to title. # Corresponds to the JSON property `titleSuggested` # @return [Boolean] attr_accessor :title_suggested alias_method :title_suggested?, :title_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @description_suggested = args[:description_suggested] if args.key?(:description_suggested) @embedded_drawing_properties_suggestion_state = args[:embedded_drawing_properties_suggestion_state] if args.key?(:embedded_drawing_properties_suggestion_state) @embedded_object_border_suggestion_state = args[:embedded_object_border_suggestion_state] if args.key?(:embedded_object_border_suggestion_state) @image_properties_suggestion_state = args[:image_properties_suggestion_state] if args.key?(:image_properties_suggestion_state) @linked_content_reference_suggestion_state = args[:linked_content_reference_suggestion_state] if args.key?(:linked_content_reference_suggestion_state) @margin_bottom_suggested = args[:margin_bottom_suggested] if args.key?(:margin_bottom_suggested) @margin_left_suggested = args[:margin_left_suggested] if args.key?(:margin_left_suggested) @margin_right_suggested = args[:margin_right_suggested] if args.key?(:margin_right_suggested) @margin_top_suggested = args[:margin_top_suggested] if args.key?(:margin_top_suggested) @size_suggestion_state = args[:size_suggestion_state] if args.key?(:size_suggestion_state) @title_suggested = args[:title_suggested] if args.key?(:title_suggested) end end # Location at the end of a body, header, footer or footnote. The location is # immediately before the last newline in the document segment. class EndOfSegmentLocation include Google::Apis::Core::Hashable # The ID of the header, footer or footnote the location is in. An empty # segment ID signifies the document's body. # Corresponds to the JSON property `segmentId` # @return [String] attr_accessor :segment_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @segment_id = args[:segment_id] if args.key?(:segment_id) end end # A ParagraphElement representing an # equation. class Equation include Google::Apis::Core::Hashable # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A Equation # may have multiple insertion IDs if it is a nested suggested change. If # empty, then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) end end # A document footer. class Footer include Google::Apis::Core::Hashable # The contents of the footer. # The indexes for a footer's content begin at zero. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # The ID of the footer. # Corresponds to the JSON property `footerId` # @return [String] attr_accessor :footer_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @footer_id = args[:footer_id] if args.key?(:footer_id) end end # A document footnote. class Footnote include Google::Apis::Core::Hashable # The contents of the footnote. # The indexes for a footnote's content begin at zero. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # The ID of the footnote. # Corresponds to the JSON property `footnoteId` # @return [String] attr_accessor :footnote_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @footnote_id = args[:footnote_id] if args.key?(:footnote_id) end end # A ParagraphElement representing a # footnote reference. A footnote reference is the inline content rendered with # a number and is used to identify the footnote. class FootnoteReference include Google::Apis::Core::Hashable # The ID of the footnote that # contains the content of this footnote reference. # Corresponds to the JSON property `footnoteId` # @return [String] attr_accessor :footnote_id # The rendered number of this footnote. # Corresponds to the JSON property `footnoteNumber` # @return [String] attr_accessor :footnote_number # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A FootnoteReference may have multiple insertion # IDs if # it is a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this FootnoteReference, keyed by # suggestion ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @footnote_id = args[:footnote_id] if args.key?(:footnote_id) @footnote_number = args[:footnote_number] if args.key?(:footnote_number) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # A document header. class Header include Google::Apis::Core::Hashable # The contents of the header. # The indexes for a header's content begin at zero. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # The ID of the header. # Corresponds to the JSON property `headerId` # @return [String] attr_accessor :header_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @header_id = args[:header_id] if args.key?(:header_id) end end # A ParagraphElement representing a # horizontal line. class HorizontalRule include Google::Apis::Core::Hashable # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs # if it # is a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this HorizontalRule, keyed by # suggestion ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # The properties of an image. class ImageProperties include Google::Apis::Core::Hashable # The clockwise rotation angle of the image, in radians. # Corresponds to the JSON property `angle` # @return [Float] attr_accessor :angle # The brightness effect of the image. The value should be in the interval # [-1.0, 1.0], where 0 means no effect. # Corresponds to the JSON property `brightness` # @return [Float] attr_accessor :brightness # A URI to the image with a default lifetime of 30 minutes. # This URI is tagged with the account of the requester. Anyone with the URI # effectively accesses the image as the original requester. Access to the # image may be lost if the document's sharing settings change. # Corresponds to the JSON property `contentUri` # @return [String] attr_accessor :content_uri # The contrast effect of the image. The value should be in the interval # [-1.0, 1.0], where 0 means no effect. # Corresponds to the JSON property `contrast` # @return [Float] attr_accessor :contrast # The crop properties of an image. # The crop rectangle is represented using fractional offsets from the original # content's four edges. # - If the offset is in the interval (0, 1), the corresponding edge of crop # rectangle is positioned inside of the image's original bounding rectangle. # - If the offset is negative or greater than 1, the corresponding edge of crop # rectangle is positioned outside of the image's original bounding rectangle. # - If all offsets and rotation angle are 0, the image is not cropped. # Corresponds to the JSON property `cropProperties` # @return [Google::Apis::DocsV1::CropProperties] attr_accessor :crop_properties # The source URI is the URI used to insert the image. The source URI can be # empty. # Corresponds to the JSON property `sourceUri` # @return [String] attr_accessor :source_uri # The transparency effect of the image. The value should be in the interval # [0.0, 1.0], where 0 means no effect and 1 means completely transparent. # Corresponds to the JSON property `transparency` # @return [Float] attr_accessor :transparency def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @angle = args[:angle] if args.key?(:angle) @brightness = args[:brightness] if args.key?(:brightness) @content_uri = args[:content_uri] if args.key?(:content_uri) @contrast = args[:contrast] if args.key?(:contrast) @crop_properties = args[:crop_properties] if args.key?(:crop_properties) @source_uri = args[:source_uri] if args.key?(:source_uri) @transparency = args[:transparency] if args.key?(:transparency) end end # A mask that indicates which of the fields on the base ImageProperties have # been changed in this suggestion. # For any field set to true, there is a new suggested value. class ImagePropertiesSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to angle. # Corresponds to the JSON property `angleSuggested` # @return [Boolean] attr_accessor :angle_suggested alias_method :angle_suggested?, :angle_suggested # Indicates if there was a suggested change to brightness. # Corresponds to the JSON property `brightnessSuggested` # @return [Boolean] attr_accessor :brightness_suggested alias_method :brightness_suggested?, :brightness_suggested # Indicates if there was a suggested change to # content_uri. # Corresponds to the JSON property `contentUriSuggested` # @return [Boolean] attr_accessor :content_uri_suggested alias_method :content_uri_suggested?, :content_uri_suggested # Indicates if there was a suggested change to contrast. # Corresponds to the JSON property `contrastSuggested` # @return [Boolean] attr_accessor :contrast_suggested alias_method :contrast_suggested?, :contrast_suggested # A mask that indicates which of the fields on the base CropProperties have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `cropPropertiesSuggestionState` # @return [Google::Apis::DocsV1::CropPropertiesSuggestionState] attr_accessor :crop_properties_suggestion_state # Indicates if there was a suggested change to source_uri. # Corresponds to the JSON property `sourceUriSuggested` # @return [Boolean] attr_accessor :source_uri_suggested alias_method :source_uri_suggested?, :source_uri_suggested # Indicates if there was a suggested change to transparency. # Corresponds to the JSON property `transparencySuggested` # @return [Boolean] attr_accessor :transparency_suggested alias_method :transparency_suggested?, :transparency_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @angle_suggested = args[:angle_suggested] if args.key?(:angle_suggested) @brightness_suggested = args[:brightness_suggested] if args.key?(:brightness_suggested) @content_uri_suggested = args[:content_uri_suggested] if args.key?(:content_uri_suggested) @contrast_suggested = args[:contrast_suggested] if args.key?(:contrast_suggested) @crop_properties_suggestion_state = args[:crop_properties_suggestion_state] if args.key?(:crop_properties_suggestion_state) @source_uri_suggested = args[:source_uri_suggested] if args.key?(:source_uri_suggested) @transparency_suggested = args[:transparency_suggested] if args.key?(:transparency_suggested) end end # An object that appears inline with text. An InlineObject contains # an EmbeddedObject such as an image. class InlineObject include Google::Apis::Core::Hashable # Properties of an InlineObject. # Corresponds to the JSON property `inlineObjectProperties` # @return [Google::Apis::DocsV1::InlineObjectProperties] attr_accessor :inline_object_properties # The ID of this inline object. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested changes to the inline object properties, keyed by suggestion # ID. # Corresponds to the JSON property `suggestedInlineObjectPropertiesChanges` # @return [Hash] attr_accessor :suggested_inline_object_properties_changes # The suggested insertion ID. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionId` # @return [String] attr_accessor :suggested_insertion_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @inline_object_properties = args[:inline_object_properties] if args.key?(:inline_object_properties) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_inline_object_properties_changes = args[:suggested_inline_object_properties_changes] if args.key?(:suggested_inline_object_properties_changes) @suggested_insertion_id = args[:suggested_insertion_id] if args.key?(:suggested_insertion_id) end end # A ParagraphElement that contains # an InlineObject. class InlineObjectElement include Google::Apis::Core::Hashable # The ID of the InlineObject this # element contains. # Corresponds to the JSON property `inlineObjectId` # @return [String] attr_accessor :inline_object_id # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. An InlineObjectElement may have multiple # insertion IDs # if it is a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this InlineObject, keyed by suggestion # ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @inline_object_id = args[:inline_object_id] if args.key?(:inline_object_id) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # Properties of an InlineObject. class InlineObjectProperties include Google::Apis::Core::Hashable # An embedded object in the document. # Corresponds to the JSON property `embeddedObject` # @return [Google::Apis::DocsV1::EmbeddedObject] attr_accessor :embedded_object def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @embedded_object = args[:embedded_object] if args.key?(:embedded_object) end end # A mask that indicates which of the fields on the base # InlineObjectProperties have # been changed in this suggestion. For any field set to true, there is a new # suggested value. class InlineObjectPropertiesSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the base EmbeddedObject have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `embeddedObjectSuggestionState` # @return [Google::Apis::DocsV1::EmbeddedObjectSuggestionState] attr_accessor :embedded_object_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @embedded_object_suggestion_state = args[:embedded_object_suggestion_state] if args.key?(:embedded_object_suggestion_state) end end # Inserts an InlineObject containing an # image at the given location. class InsertInlineImageRequest include Google::Apis::Core::Hashable # Location at the end of a body, header, footer or footnote. The location is # immediately before the last newline in the document segment. # Corresponds to the JSON property `endOfSegmentLocation` # @return [Google::Apis::DocsV1::EndOfSegmentLocation] attr_accessor :end_of_segment_location # A particular location in the document. # Corresponds to the JSON property `location` # @return [Google::Apis::DocsV1::Location] attr_accessor :location # A width and height. # Corresponds to the JSON property `objectSize` # @return [Google::Apis::DocsV1::Size] attr_accessor :object_size # The image URI. # The image is fetched once at insertion time and a copy is stored for # display inside the document. Images must be less than 50MB in size, cannot # exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. # The provided URI can be at most 2 kB in length. The URI itself is saved # with the image, and exposed via the ImageProperties.content_uri field. # Corresponds to the JSON property `uri` # @return [String] attr_accessor :uri def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_of_segment_location = args[:end_of_segment_location] if args.key?(:end_of_segment_location) @location = args[:location] if args.key?(:location) @object_size = args[:object_size] if args.key?(:object_size) @uri = args[:uri] if args.key?(:uri) end end # The result of inserting an inline image. class InsertInlineImageResponse include Google::Apis::Core::Hashable # The ID of the created InlineObject. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # The result of inserting an embedded Google Sheets chart. class InsertInlineSheetsChartResponse include Google::Apis::Core::Hashable # The object ID of the inserted chart. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) end end # Inserts a page break followed by a newline at the specified location. class InsertPageBreakRequest include Google::Apis::Core::Hashable # Location at the end of a body, header, footer or footnote. The location is # immediately before the last newline in the document segment. # Corresponds to the JSON property `endOfSegmentLocation` # @return [Google::Apis::DocsV1::EndOfSegmentLocation] attr_accessor :end_of_segment_location # A particular location in the document. # Corresponds to the JSON property `location` # @return [Google::Apis::DocsV1::Location] attr_accessor :location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_of_segment_location = args[:end_of_segment_location] if args.key?(:end_of_segment_location) @location = args[:location] if args.key?(:location) end end # Inserts a table at the specified location. # A newline character will be inserted before the inserted table. class InsertTableRequest include Google::Apis::Core::Hashable # The number of columns in the table. # Corresponds to the JSON property `columns` # @return [Fixnum] attr_accessor :columns # Location at the end of a body, header, footer or footnote. The location is # immediately before the last newline in the document segment. # Corresponds to the JSON property `endOfSegmentLocation` # @return [Google::Apis::DocsV1::EndOfSegmentLocation] attr_accessor :end_of_segment_location # A particular location in the document. # Corresponds to the JSON property `location` # @return [Google::Apis::DocsV1::Location] attr_accessor :location # The number of rows in the table. # Corresponds to the JSON property `rows` # @return [Fixnum] attr_accessor :rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @columns = args[:columns] if args.key?(:columns) @end_of_segment_location = args[:end_of_segment_location] if args.key?(:end_of_segment_location) @location = args[:location] if args.key?(:location) @rows = args[:rows] if args.key?(:rows) end end # Inserts an empty row into a table. class InsertTableRowRequest include Google::Apis::Core::Hashable # Whether to insert new row below the reference cell location. # - `True`: insert below the cell. # - `False`: insert above the cell. # Corresponds to the JSON property `insertBelow` # @return [Boolean] attr_accessor :insert_below alias_method :insert_below?, :insert_below # Location of a single cell within a table. # Corresponds to the JSON property `tableCellLocation` # @return [Google::Apis::DocsV1::TableCellLocation] attr_accessor :table_cell_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @insert_below = args[:insert_below] if args.key?(:insert_below) @table_cell_location = args[:table_cell_location] if args.key?(:table_cell_location) end end # Inserts text at the specified location. class InsertTextRequest include Google::Apis::Core::Hashable # Location at the end of a body, header, footer or footnote. The location is # immediately before the last newline in the document segment. # Corresponds to the JSON property `endOfSegmentLocation` # @return [Google::Apis::DocsV1::EndOfSegmentLocation] attr_accessor :end_of_segment_location # A particular location in the document. # Corresponds to the JSON property `location` # @return [Google::Apis::DocsV1::Location] attr_accessor :location # The text to be inserted. # Inserting a newline character will implicitly create a new # Paragraph at that index. # The paragraph style of the new paragraph will be copied from the paragraph # at the current insertion index, including lists and bullets. # Text styles for inserted text will be determined automatically, generally # preserving the styling of neighboring text. In most cases, the text style # for the inserted text will match the text immediately before the insertion # index. # Some control characters (U+0000-U+0008, U+000C-U+001F) and characters # from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) # will be stripped out of the inserted text. # Corresponds to the JSON property `text` # @return [String] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_of_segment_location = args[:end_of_segment_location] if args.key?(:end_of_segment_location) @location = args[:location] if args.key?(:location) @text = args[:text] if args.key?(:text) end end # A reference to another portion of a document or an external URL resource. class Link include Google::Apis::Core::Hashable # The ID of a bookmark in this document. # Corresponds to the JSON property `bookmarkId` # @return [String] attr_accessor :bookmark_id # The ID of a heading in this document. # Corresponds to the JSON property `headingId` # @return [String] attr_accessor :heading_id # An external URL. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bookmark_id = args[:bookmark_id] if args.key?(:bookmark_id) @heading_id = args[:heading_id] if args.key?(:heading_id) @url = args[:url] if args.key?(:url) end end # A reference to the external linked source content. class LinkedContentReference include Google::Apis::Core::Hashable # A reference to a linked chart embedded from Google Sheets. # Corresponds to the JSON property `sheetsChartReference` # @return [Google::Apis::DocsV1::SheetsChartReference] attr_accessor :sheets_chart_reference def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @sheets_chart_reference = args[:sheets_chart_reference] if args.key?(:sheets_chart_reference) end end # A mask that indicates which of the fields on the base # LinkedContentReference have # been changed in this suggestion. For any field set to true, there is a new # suggested value. class LinkedContentReferenceSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the base SheetsChartReference # have been changed in this # suggestion. For any field set to true, there is a new suggested value. # Corresponds to the JSON property `sheetsChartReferenceSuggestionState` # @return [Google::Apis::DocsV1::SheetsChartReferenceSuggestionState] attr_accessor :sheets_chart_reference_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @sheets_chart_reference_suggestion_state = args[:sheets_chart_reference_suggestion_state] if args.key?(:sheets_chart_reference_suggestion_state) end end # A List represents the list attributes for a group of paragraphs that all # belong to the same list. A paragraph that is part of a list has a reference # to the list's ID in its bullet. class List include Google::Apis::Core::Hashable # The properties of a list which describe the look # and feel of bullets belonging to paragraphs associated with a list. # Corresponds to the JSON property `listProperties` # @return [Google::Apis::DocsV1::ListProperties] attr_accessor :list_properties # The suggested deletion IDs. If empty, then there are no suggested deletions # of this list. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion ID. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionId` # @return [String] attr_accessor :suggested_insertion_id # The suggested changes to the list properties, keyed by suggestion # ID. # Corresponds to the JSON property `suggestedListPropertiesChanges` # @return [Hash] attr_accessor :suggested_list_properties_changes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @list_properties = args[:list_properties] if args.key?(:list_properties) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_id = args[:suggested_insertion_id] if args.key?(:suggested_insertion_id) @suggested_list_properties_changes = args[:suggested_list_properties_changes] if args.key?(:suggested_list_properties_changes) end end # The properties of a list which describe the look # and feel of bullets belonging to paragraphs associated with a list. class ListProperties include Google::Apis::Core::Hashable # Describes the properties of the bullets at the associated level. # A list has at most nine levels of nesting with nesting level 0 # corresponding to the top-most level and nesting level 8 corresponding to # the most nested level. The nesting levels are returned in ascending order # with the least nested returned first. # Corresponds to the JSON property `nestingLevels` # @return [Array] attr_accessor :nesting_levels def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nesting_levels = args[:nesting_levels] if args.key?(:nesting_levels) end end # A mask that indicates which of the fields on the base ListProperties have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class ListPropertiesSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the corresponding # NestingLevel in nesting_levels have been changed in # this suggestion. # The nesting level suggestion states are returned in ascending order of the # nesting level with the least nested returned first. # Corresponds to the JSON property `nestingLevelsSuggestionStates` # @return [Array] attr_accessor :nesting_levels_suggestion_states def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @nesting_levels_suggestion_states = args[:nesting_levels_suggestion_states] if args.key?(:nesting_levels_suggestion_states) end end # A particular location in the document. class Location include Google::Apis::Core::Hashable # The zero-based index, in UTF-16 code units. # The index is relative to the beginning of the segment specified by # segment_id. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # The ID of the header, footer or footnote the location is in. An empty # segment ID signifies the document's body. # Corresponds to the JSON property `segmentId` # @return [String] attr_accessor :segment_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @index = args[:index] if args.key?(:index) @segment_id = args[:segment_id] if args.key?(:segment_id) end end # A collection of Ranges with the same named range # ID. # Named ranges allow developers to associate parts of a document with an # arbitrary user-defined label so their contents can be programmatically read # or edited at a later time. A document can contain multiple named ranges with # the same name, but every named range has a unique ID. # A named range is created with a single Range, # and content inserted inside a named range generally expands that range. # However, certain document changes can cause the range to be split into # multiple ranges. # Named ranges are not private. All applications and collaborators that have # access to the document can see its named ranges. class NamedRange include Google::Apis::Core::Hashable # The name of the named range. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The ID of the named range. # Corresponds to the JSON property `namedRangeId` # @return [String] attr_accessor :named_range_id # The ranges that belong to this named range. # Corresponds to the JSON property `ranges` # @return [Array] attr_accessor :ranges def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @named_range_id = args[:named_range_id] if args.key?(:named_range_id) @ranges = args[:ranges] if args.key?(:ranges) end end # A collection of all the NamedRanges in the # document that share a given name. class NamedRanges include Google::Apis::Core::Hashable # The name that all the named ranges share. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The NamedRanges that share the same name. # Corresponds to the JSON property `namedRanges` # @return [Array] attr_accessor :named_ranges def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @named_ranges = args[:named_ranges] if args.key?(:named_ranges) end end # A named style. Paragraphs in the document can inherit their # TextStyle and # ParagraphStyle from this named style # when they have the same named style type. class NamedStyle include Google::Apis::Core::Hashable # The type of this named style. # Corresponds to the JSON property `namedStyleType` # @return [String] attr_accessor :named_style_type # Styles that apply to a whole paragraph. # Inherited paragraph styles are represented as unset fields in this message. # A paragraph style's parent depends on where the paragraph style is defined: # * The ParagraphStyle on a Paragraph # inherits from the paragraph's corresponding named style type. # * The ParagraphStyle on a named style # inherits from the normal text named style. # * The ParagraphStyle of the normal text named style inherits # from the default paragraph style in the Docs editor. # * The ParagraphStyle on a Paragraph # element that is contained in a table may inherit its paragraph style from # the table style. # If the paragraph style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `paragraphStyle` # @return [Google::Apis::DocsV1::ParagraphStyle] attr_accessor :paragraph_style # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @named_style_type = args[:named_style_type] if args.key?(:named_style_type) @paragraph_style = args[:paragraph_style] if args.key?(:paragraph_style) @text_style = args[:text_style] if args.key?(:text_style) end end # A suggestion state of a NamedStyle message. class NamedStyleSuggestionState include Google::Apis::Core::Hashable # The named style type that this suggestion state corresponds to. # This field is provided as a convenience for matching the # NamedStyleSuggestionState with its corresponding NamedStyle. # Corresponds to the JSON property `namedStyleType` # @return [String] attr_accessor :named_style_type # A mask that indicates which of the fields on the base ParagraphStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `paragraphStyleSuggestionState` # @return [Google::Apis::DocsV1::ParagraphStyleSuggestionState] attr_accessor :paragraph_style_suggestion_state # A mask that indicates which of the fields on the base TextStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `textStyleSuggestionState` # @return [Google::Apis::DocsV1::TextStyleSuggestionState] attr_accessor :text_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @named_style_type = args[:named_style_type] if args.key?(:named_style_type) @paragraph_style_suggestion_state = args[:paragraph_style_suggestion_state] if args.key?(:paragraph_style_suggestion_state) @text_style_suggestion_state = args[:text_style_suggestion_state] if args.key?(:text_style_suggestion_state) end end # The named styles. Paragraphs in the document can inherit their # TextStyle and # ParagraphStyle from these named styles. class NamedStyles include Google::Apis::Core::Hashable # The named styles. # There is an entry for each of the possible named style types. # Corresponds to the JSON property `styles` # @return [Array] attr_accessor :styles def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @styles = args[:styles] if args.key?(:styles) end end # The suggestion state of a NamedStyles # message. class NamedStylesSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the corresponding NamedStyle in # styles have been changed in this # suggestion. # The order of these named style suggestion states match the order of the # corresponding named style within the named styles suggestion. # Corresponds to the JSON property `stylesSuggestionStates` # @return [Array] attr_accessor :styles_suggestion_states def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @styles_suggestion_states = args[:styles_suggestion_states] if args.key?(:styles_suggestion_states) end end # Contains properties describing the look and feel of a list bullet at a given # level of nesting. class NestingLevel include Google::Apis::Core::Hashable # The alignment of the bullet within the space allotted for rendering the # bullet. # Corresponds to the JSON property `bulletAlignment` # @return [String] attr_accessor :bullet_alignment # The format string used by bullets at this level of nesting. # The glyph format contains one or more placeholders, and these placeholder # are replaced with the appropriate values depending on the glyph_type or # glyph_symbol. The placeholders follow # the pattern `%[nesting_level]`. Furthermore, placeholders can have prefixes # and suffixes. Thus, the glyph format follows the pattern # `%[nesting_level]`. Note that the prefix and suffix are # optional and can be arbitrary strings. # For example, the glyph format `%0.` indicates that the rendered glyph will # replace the placeholder with the corresponding glyph for nesting level 0 # followed by a period as the suffix. So a list with a glyph type of # UPPER_ALPHA and # glyph format `%0.` at nesting level 0 will result in a list with rendered # glyphs #

`A.` #

`B.` #

`C.` # The glyph format can contain placeholders for the current nesting level as # well as placeholders for parent nesting levels. For example, a # list can have a glyph format of `%0.` at nesting level 0 and a # glyph format of `%0.%1.` at nesting level 1. Assuming both nesting levels # have DECIMAL glyph # types, this would result in a list with rendered glyphs #

`1.` #

`2.` #

` 2.1.` #

` 2.2.` #

`3.` # For nesting levels that are ordered, the string that replaces a placeholder # in the glyph format for a particular paragraph depends on the paragraph's # order within the list. # Corresponds to the JSON property `glyphFormat` # @return [String] attr_accessor :glyph_format # A custom glyph symbol used by bullets when paragraphs at this level of # nesting are unordered. # The glyph symbol replaces placeholders within the glyph_format. For example, # if the # glyph_symbol is the solid circle corresponding to Unicode U+25cf code # point and the glyph_format is `%0`, the rendered # glyph would be the solid circle. # Corresponds to the JSON property `glyphSymbol` # @return [String] attr_accessor :glyph_symbol # The type of glyph used by bullets when paragraphs at this level of # nesting are ordered. # The glyph type determines the type of glyph used to replace placeholders # within the glyph_format # when paragraphs at this level of nesting are ordered. For example, if the # nesting level is 0, the glyph_format is `%0.` and the glyph # type is DECIMAL, # then the rendered glyph would replace the placeholder `%0` in the glyph # format with a number corresponding to list item's order within the list. # Corresponds to the JSON property `glyphType` # @return [String] attr_accessor :glyph_type # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentFirstLine` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :indent_first_line # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentStart` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :indent_start # The number of the first list item at this nesting level. # A value of 0 is treated as a value of 1 for lettered lists and roman # numeraled lists, i.e. for values of both 0 and 1, lettered and roman # numeraled lists will begin at `a` and `i` respectively. # This value is ignored for nesting levels with unordered glyphs. # Corresponds to the JSON property `startNumber` # @return [Fixnum] attr_accessor :start_number # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_alignment = args[:bullet_alignment] if args.key?(:bullet_alignment) @glyph_format = args[:glyph_format] if args.key?(:glyph_format) @glyph_symbol = args[:glyph_symbol] if args.key?(:glyph_symbol) @glyph_type = args[:glyph_type] if args.key?(:glyph_type) @indent_first_line = args[:indent_first_line] if args.key?(:indent_first_line) @indent_start = args[:indent_start] if args.key?(:indent_start) @start_number = args[:start_number] if args.key?(:start_number) @text_style = args[:text_style] if args.key?(:text_style) end end # A mask that indicates which of the fields on the base NestingLevel have been # changed in this suggestion. For # any field set to true, there is a new suggested value. class NestingLevelSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to # bullet_alignment. # Corresponds to the JSON property `bulletAlignmentSuggested` # @return [Boolean] attr_accessor :bullet_alignment_suggested alias_method :bullet_alignment_suggested?, :bullet_alignment_suggested # Indicates if there was a suggested change to # glyph_format. # Corresponds to the JSON property `glyphFormatSuggested` # @return [Boolean] attr_accessor :glyph_format_suggested alias_method :glyph_format_suggested?, :glyph_format_suggested # Indicates if there was a suggested change to # glyph_symbol. # Corresponds to the JSON property `glyphSymbolSuggested` # @return [Boolean] attr_accessor :glyph_symbol_suggested alias_method :glyph_symbol_suggested?, :glyph_symbol_suggested # Indicates if there was a suggested change to # glyph_type. # Corresponds to the JSON property `glyphTypeSuggested` # @return [Boolean] attr_accessor :glyph_type_suggested alias_method :glyph_type_suggested?, :glyph_type_suggested # Indicates if there was a suggested change to # indent_first_line. # Corresponds to the JSON property `indentFirstLineSuggested` # @return [Boolean] attr_accessor :indent_first_line_suggested alias_method :indent_first_line_suggested?, :indent_first_line_suggested # Indicates if there was a suggested change to # indent_start. # Corresponds to the JSON property `indentStartSuggested` # @return [Boolean] attr_accessor :indent_start_suggested alias_method :indent_start_suggested?, :indent_start_suggested # Indicates if there was a suggested change to # start_number. # Corresponds to the JSON property `startNumberSuggested` # @return [Boolean] attr_accessor :start_number_suggested alias_method :start_number_suggested?, :start_number_suggested # A mask that indicates which of the fields on the base TextStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `textStyleSuggestionState` # @return [Google::Apis::DocsV1::TextStyleSuggestionState] attr_accessor :text_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet_alignment_suggested = args[:bullet_alignment_suggested] if args.key?(:bullet_alignment_suggested) @glyph_format_suggested = args[:glyph_format_suggested] if args.key?(:glyph_format_suggested) @glyph_symbol_suggested = args[:glyph_symbol_suggested] if args.key?(:glyph_symbol_suggested) @glyph_type_suggested = args[:glyph_type_suggested] if args.key?(:glyph_type_suggested) @indent_first_line_suggested = args[:indent_first_line_suggested] if args.key?(:indent_first_line_suggested) @indent_start_suggested = args[:indent_start_suggested] if args.key?(:indent_start_suggested) @start_number_suggested = args[:start_number_suggested] if args.key?(:start_number_suggested) @text_style_suggestion_state = args[:text_style_suggestion_state] if args.key?(:text_style_suggestion_state) end end # A collection of object IDs. class ObjectReferences include Google::Apis::Core::Hashable # The object IDs. # Corresponds to the JSON property `objectIds` # @return [Array] attr_accessor :object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_ids = args[:object_ids] if args.key?(:object_ids) end end # A color that can either be fully opaque or fully transparent. class OptionalColor include Google::Apis::Core::Hashable # A solid color. # Corresponds to the JSON property `color` # @return [Google::Apis::DocsV1::Color] attr_accessor :color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) end end # A ParagraphElement representing a # page break. A page break makes the subsequent text start at the top of the # next page. class PageBreak include Google::Apis::Core::Hashable # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A PageBreak # may have multiple insertion IDs if it is a nested suggested change. If # empty, then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this PageBreak, keyed by suggestion ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # A StructuralElement representing a # paragraph. A paragraph is a range of content that is terminated with a # newline character. class Paragraph include Google::Apis::Core::Hashable # Describes the bullet of a paragraph. # Corresponds to the JSON property `bullet` # @return [Google::Apis::DocsV1::Bullet] attr_accessor :bullet # The content of the paragraph broken down into its component parts. # Corresponds to the JSON property `elements` # @return [Array] attr_accessor :elements # Styles that apply to a whole paragraph. # Inherited paragraph styles are represented as unset fields in this message. # A paragraph style's parent depends on where the paragraph style is defined: # * The ParagraphStyle on a Paragraph # inherits from the paragraph's corresponding named style type. # * The ParagraphStyle on a named style # inherits from the normal text named style. # * The ParagraphStyle of the normal text named style inherits # from the default paragraph style in the Docs editor. # * The ParagraphStyle on a Paragraph # element that is contained in a table may inherit its paragraph style from # the table style. # If the paragraph style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `paragraphStyle` # @return [Google::Apis::DocsV1::ParagraphStyle] attr_accessor :paragraph_style # The IDs of the positioned objects tethered to this paragraph. # Corresponds to the JSON property `positionedObjectIds` # @return [Array] attr_accessor :positioned_object_ids # The suggested changes to this paragraph's bullet. # Corresponds to the JSON property `suggestedBulletChanges` # @return [Hash] attr_accessor :suggested_bullet_changes # The suggested paragraph style changes to this paragraph, keyed by # suggestion ID. # Corresponds to the JSON property `suggestedParagraphStyleChanges` # @return [Hash] attr_accessor :suggested_paragraph_style_changes # The IDs of the positioned objects that are suggested to be attached to this # paragraph, keyed by suggestion ID. # Corresponds to the JSON property `suggestedPositionedObjectIds` # @return [Hash] attr_accessor :suggested_positioned_object_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet = args[:bullet] if args.key?(:bullet) @elements = args[:elements] if args.key?(:elements) @paragraph_style = args[:paragraph_style] if args.key?(:paragraph_style) @positioned_object_ids = args[:positioned_object_ids] if args.key?(:positioned_object_ids) @suggested_bullet_changes = args[:suggested_bullet_changes] if args.key?(:suggested_bullet_changes) @suggested_paragraph_style_changes = args[:suggested_paragraph_style_changes] if args.key?(:suggested_paragraph_style_changes) @suggested_positioned_object_ids = args[:suggested_positioned_object_ids] if args.key?(:suggested_positioned_object_ids) end end # A border around a paragraph. class ParagraphBorder include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `color` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :color # The dash style of the border. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `padding` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) @dash_style = args[:dash_style] if args.key?(:dash_style) @padding = args[:padding] if args.key?(:padding) @width = args[:width] if args.key?(:width) end end # A ParagraphElement describes content within a # Paragraph. class ParagraphElement include Google::Apis::Core::Hashable # A ParagraphElement representing a # spot in the text that is dynamically replaced with content that can change # over time, like a page number. # Corresponds to the JSON property `autoText` # @return [Google::Apis::DocsV1::AutoText] attr_accessor :auto_text # A ParagraphElement representing a # column break. A column break makes the subsequent text start at the top of # the next column. # Corresponds to the JSON property `columnBreak` # @return [Google::Apis::DocsV1::ColumnBreak] attr_accessor :column_break # The zero-base end index of this paragraph element, exclusive, in UTF-16 # code units. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # A ParagraphElement representing an # equation. # Corresponds to the JSON property `equation` # @return [Google::Apis::DocsV1::Equation] attr_accessor :equation # A ParagraphElement representing a # footnote reference. A footnote reference is the inline content rendered with # a number and is used to identify the footnote. # Corresponds to the JSON property `footnoteReference` # @return [Google::Apis::DocsV1::FootnoteReference] attr_accessor :footnote_reference # A ParagraphElement representing a # horizontal line. # Corresponds to the JSON property `horizontalRule` # @return [Google::Apis::DocsV1::HorizontalRule] attr_accessor :horizontal_rule # A ParagraphElement that contains # an InlineObject. # Corresponds to the JSON property `inlineObjectElement` # @return [Google::Apis::DocsV1::InlineObjectElement] attr_accessor :inline_object_element # A ParagraphElement representing a # page break. A page break makes the subsequent text start at the top of the # next page. # Corresponds to the JSON property `pageBreak` # @return [Google::Apis::DocsV1::PageBreak] attr_accessor :page_break # The zero-based start index of this paragraph element, in UTF-16 code units. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # A ParagraphElement that represents a # run of text that all has the same styling. # Corresponds to the JSON property `textRun` # @return [Google::Apis::DocsV1::TextRun] attr_accessor :text_run def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_text = args[:auto_text] if args.key?(:auto_text) @column_break = args[:column_break] if args.key?(:column_break) @end_index = args[:end_index] if args.key?(:end_index) @equation = args[:equation] if args.key?(:equation) @footnote_reference = args[:footnote_reference] if args.key?(:footnote_reference) @horizontal_rule = args[:horizontal_rule] if args.key?(:horizontal_rule) @inline_object_element = args[:inline_object_element] if args.key?(:inline_object_element) @page_break = args[:page_break] if args.key?(:page_break) @start_index = args[:start_index] if args.key?(:start_index) @text_run = args[:text_run] if args.key?(:text_run) end end # Styles that apply to a whole paragraph. # Inherited paragraph styles are represented as unset fields in this message. # A paragraph style's parent depends on where the paragraph style is defined: # * The ParagraphStyle on a Paragraph # inherits from the paragraph's corresponding named style type. # * The ParagraphStyle on a named style # inherits from the normal text named style. # * The ParagraphStyle of the normal text named style inherits # from the default paragraph style in the Docs editor. # * The ParagraphStyle on a Paragraph # element that is contained in a table may inherit its paragraph style from # the table style. # If the paragraph style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. class ParagraphStyle include Google::Apis::Core::Hashable # The text alignment for this paragraph. # Corresponds to the JSON property `alignment` # @return [String] attr_accessor :alignment # Whether to avoid widows and orphans for the paragraph. If unset, the value # is inherited from the parent. # Corresponds to the JSON property `avoidWidowAndOrphan` # @return [Boolean] attr_accessor :avoid_widow_and_orphan alias_method :avoid_widow_and_orphan?, :avoid_widow_and_orphan # A border around a paragraph. # Corresponds to the JSON property `borderBetween` # @return [Google::Apis::DocsV1::ParagraphBorder] attr_accessor :border_between # A border around a paragraph. # Corresponds to the JSON property `borderBottom` # @return [Google::Apis::DocsV1::ParagraphBorder] attr_accessor :border_bottom # A border around a paragraph. # Corresponds to the JSON property `borderLeft` # @return [Google::Apis::DocsV1::ParagraphBorder] attr_accessor :border_left # A border around a paragraph. # Corresponds to the JSON property `borderRight` # @return [Google::Apis::DocsV1::ParagraphBorder] attr_accessor :border_right # A border around a paragraph. # Corresponds to the JSON property `borderTop` # @return [Google::Apis::DocsV1::ParagraphBorder] attr_accessor :border_top # The text direction of this paragraph. If unset, the value defaults to # LEFT_TO_RIGHT since # paragraph direction is not inherited. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction # The heading ID of the paragraph. If empty, then this paragraph is not a # heading. This property is read-only. # Corresponds to the JSON property `headingId` # @return [String] attr_accessor :heading_id # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentEnd` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :indent_end # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentFirstLine` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :indent_first_line # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `indentStart` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :indent_start # Whether all lines of the paragraph should be laid out on the same page or # column if possible. If unset, the value is inherited from the parent. # Corresponds to the JSON property `keepLinesTogether` # @return [Boolean] attr_accessor :keep_lines_together alias_method :keep_lines_together?, :keep_lines_together # Whether at least a part of this paragraph should be laid out on the same # page or column as the next paragraph if possible. If unset, the value is # inherited from the parent. # Corresponds to the JSON property `keepWithNext` # @return [Boolean] attr_accessor :keep_with_next alias_method :keep_with_next?, :keep_with_next # The amount of space between lines, as a percentage of normal, where normal # is represented as 100.0. If unset, the value is inherited from the parent. # Corresponds to the JSON property `lineSpacing` # @return [Float] attr_accessor :line_spacing # The named style type of the paragraph. # Since updating the named style type affects other properties within # ParagraphStyle, the named style type is applied before the other properties # are updated. # Corresponds to the JSON property `namedStyleType` # @return [String] attr_accessor :named_style_type # The shading of a paragraph. # Corresponds to the JSON property `shading` # @return [Google::Apis::DocsV1::Shading] attr_accessor :shading # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `spaceAbove` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :space_above # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `spaceBelow` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :space_below # The spacing mode for the paragraph. # Corresponds to the JSON property `spacingMode` # @return [String] attr_accessor :spacing_mode # A list of the tab stops for this paragraph. The list of tab stops is not # inherited. This property is read-only. # Corresponds to the JSON property `tabStops` # @return [Array] attr_accessor :tab_stops def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alignment = args[:alignment] if args.key?(:alignment) @avoid_widow_and_orphan = args[:avoid_widow_and_orphan] if args.key?(:avoid_widow_and_orphan) @border_between = args[:border_between] if args.key?(:border_between) @border_bottom = args[:border_bottom] if args.key?(:border_bottom) @border_left = args[:border_left] if args.key?(:border_left) @border_right = args[:border_right] if args.key?(:border_right) @border_top = args[:border_top] if args.key?(:border_top) @direction = args[:direction] if args.key?(:direction) @heading_id = args[:heading_id] if args.key?(:heading_id) @indent_end = args[:indent_end] if args.key?(:indent_end) @indent_first_line = args[:indent_first_line] if args.key?(:indent_first_line) @indent_start = args[:indent_start] if args.key?(:indent_start) @keep_lines_together = args[:keep_lines_together] if args.key?(:keep_lines_together) @keep_with_next = args[:keep_with_next] if args.key?(:keep_with_next) @line_spacing = args[:line_spacing] if args.key?(:line_spacing) @named_style_type = args[:named_style_type] if args.key?(:named_style_type) @shading = args[:shading] if args.key?(:shading) @space_above = args[:space_above] if args.key?(:space_above) @space_below = args[:space_below] if args.key?(:space_below) @spacing_mode = args[:spacing_mode] if args.key?(:spacing_mode) @tab_stops = args[:tab_stops] if args.key?(:tab_stops) end end # A mask that indicates which of the fields on the base ParagraphStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class ParagraphStyleSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to alignment. # Corresponds to the JSON property `alignmentSuggested` # @return [Boolean] attr_accessor :alignment_suggested alias_method :alignment_suggested?, :alignment_suggested # Indicates if there was a suggested change to avoid_widow_and_orphan. # Corresponds to the JSON property `avoidWidowAndOrphanSuggested` # @return [Boolean] attr_accessor :avoid_widow_and_orphan_suggested alias_method :avoid_widow_and_orphan_suggested?, :avoid_widow_and_orphan_suggested # Indicates if there was a suggested change to border_between. # Corresponds to the JSON property `borderBetweenSuggested` # @return [Boolean] attr_accessor :border_between_suggested alias_method :border_between_suggested?, :border_between_suggested # Indicates if there was a suggested change to border_bottom. # Corresponds to the JSON property `borderBottomSuggested` # @return [Boolean] attr_accessor :border_bottom_suggested alias_method :border_bottom_suggested?, :border_bottom_suggested # Indicates if there was a suggested change to border_left. # Corresponds to the JSON property `borderLeftSuggested` # @return [Boolean] attr_accessor :border_left_suggested alias_method :border_left_suggested?, :border_left_suggested # Indicates if there was a suggested change to border_right. # Corresponds to the JSON property `borderRightSuggested` # @return [Boolean] attr_accessor :border_right_suggested alias_method :border_right_suggested?, :border_right_suggested # Indicates if there was a suggested change to border_top. # Corresponds to the JSON property `borderTopSuggested` # @return [Boolean] attr_accessor :border_top_suggested alias_method :border_top_suggested?, :border_top_suggested # Indicates if there was a suggested change to direction. # Corresponds to the JSON property `directionSuggested` # @return [Boolean] attr_accessor :direction_suggested alias_method :direction_suggested?, :direction_suggested # Indicates if there was a suggested change to heading_id. # Corresponds to the JSON property `headingIdSuggested` # @return [Boolean] attr_accessor :heading_id_suggested alias_method :heading_id_suggested?, :heading_id_suggested # Indicates if there was a suggested change to indent_end. # Corresponds to the JSON property `indentEndSuggested` # @return [Boolean] attr_accessor :indent_end_suggested alias_method :indent_end_suggested?, :indent_end_suggested # Indicates if there was a suggested change to indent_first_line. # Corresponds to the JSON property `indentFirstLineSuggested` # @return [Boolean] attr_accessor :indent_first_line_suggested alias_method :indent_first_line_suggested?, :indent_first_line_suggested # Indicates if there was a suggested change to indent_start. # Corresponds to the JSON property `indentStartSuggested` # @return [Boolean] attr_accessor :indent_start_suggested alias_method :indent_start_suggested?, :indent_start_suggested # Indicates if there was a suggested change to keep_lines_together. # Corresponds to the JSON property `keepLinesTogetherSuggested` # @return [Boolean] attr_accessor :keep_lines_together_suggested alias_method :keep_lines_together_suggested?, :keep_lines_together_suggested # Indicates if there was a suggested change to keep_with_next. # Corresponds to the JSON property `keepWithNextSuggested` # @return [Boolean] attr_accessor :keep_with_next_suggested alias_method :keep_with_next_suggested?, :keep_with_next_suggested # Indicates if there was a suggested change to line_spacing. # Corresponds to the JSON property `lineSpacingSuggested` # @return [Boolean] attr_accessor :line_spacing_suggested alias_method :line_spacing_suggested?, :line_spacing_suggested # Indicates if there was a suggested change to named_style_type. # Corresponds to the JSON property `namedStyleTypeSuggested` # @return [Boolean] attr_accessor :named_style_type_suggested alias_method :named_style_type_suggested?, :named_style_type_suggested # A mask that indicates which of the fields on the base Shading have been # changed in this # suggested change. For any field set to true, there is a new suggested value. # Corresponds to the JSON property `shadingSuggestionState` # @return [Google::Apis::DocsV1::ShadingSuggestionState] attr_accessor :shading_suggestion_state # Indicates if there was a suggested change to space_above. # Corresponds to the JSON property `spaceAboveSuggested` # @return [Boolean] attr_accessor :space_above_suggested alias_method :space_above_suggested?, :space_above_suggested # Indicates if there was a suggested change to space_below. # Corresponds to the JSON property `spaceBelowSuggested` # @return [Boolean] attr_accessor :space_below_suggested alias_method :space_below_suggested?, :space_below_suggested # Indicates if there was a suggested change to spacing_mode. # Corresponds to the JSON property `spacingModeSuggested` # @return [Boolean] attr_accessor :spacing_mode_suggested alias_method :spacing_mode_suggested?, :spacing_mode_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alignment_suggested = args[:alignment_suggested] if args.key?(:alignment_suggested) @avoid_widow_and_orphan_suggested = args[:avoid_widow_and_orphan_suggested] if args.key?(:avoid_widow_and_orphan_suggested) @border_between_suggested = args[:border_between_suggested] if args.key?(:border_between_suggested) @border_bottom_suggested = args[:border_bottom_suggested] if args.key?(:border_bottom_suggested) @border_left_suggested = args[:border_left_suggested] if args.key?(:border_left_suggested) @border_right_suggested = args[:border_right_suggested] if args.key?(:border_right_suggested) @border_top_suggested = args[:border_top_suggested] if args.key?(:border_top_suggested) @direction_suggested = args[:direction_suggested] if args.key?(:direction_suggested) @heading_id_suggested = args[:heading_id_suggested] if args.key?(:heading_id_suggested) @indent_end_suggested = args[:indent_end_suggested] if args.key?(:indent_end_suggested) @indent_first_line_suggested = args[:indent_first_line_suggested] if args.key?(:indent_first_line_suggested) @indent_start_suggested = args[:indent_start_suggested] if args.key?(:indent_start_suggested) @keep_lines_together_suggested = args[:keep_lines_together_suggested] if args.key?(:keep_lines_together_suggested) @keep_with_next_suggested = args[:keep_with_next_suggested] if args.key?(:keep_with_next_suggested) @line_spacing_suggested = args[:line_spacing_suggested] if args.key?(:line_spacing_suggested) @named_style_type_suggested = args[:named_style_type_suggested] if args.key?(:named_style_type_suggested) @shading_suggestion_state = args[:shading_suggestion_state] if args.key?(:shading_suggestion_state) @space_above_suggested = args[:space_above_suggested] if args.key?(:space_above_suggested) @space_below_suggested = args[:space_below_suggested] if args.key?(:space_below_suggested) @spacing_mode_suggested = args[:spacing_mode_suggested] if args.key?(:spacing_mode_suggested) end end # An object that is tethered to a Paragraph # and positioned relative to the beginning of the paragraph. A PositionedObject # contains an EmbeddedObject such as an # image. class PositionedObject include Google::Apis::Core::Hashable # The ID of this positioned object. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :object_id_prop # Properties of a PositionedObject. # Corresponds to the JSON property `positionedObjectProperties` # @return [Google::Apis::DocsV1::PositionedObjectProperties] attr_accessor :positioned_object_properties # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion ID. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionId` # @return [String] attr_accessor :suggested_insertion_id # The suggested changes to the positioned object properties, keyed by # suggestion ID. # Corresponds to the JSON property `suggestedPositionedObjectPropertiesChanges` # @return [Hash] attr_accessor :suggested_positioned_object_properties_changes def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @object_id_prop = args[:object_id_prop] if args.key?(:object_id_prop) @positioned_object_properties = args[:positioned_object_properties] if args.key?(:positioned_object_properties) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_id = args[:suggested_insertion_id] if args.key?(:suggested_insertion_id) @suggested_positioned_object_properties_changes = args[:suggested_positioned_object_properties_changes] if args.key?(:suggested_positioned_object_properties_changes) end end # The positioning of a PositionedObject. The positioned object is positioned # relative to the beginning of the Paragraph # it is tethered to. class PositionedObjectPositioning include Google::Apis::Core::Hashable # The layout of this positioned object. # Corresponds to the JSON property `layout` # @return [String] attr_accessor :layout # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `leftOffset` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :left_offset # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `topOffset` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :top_offset def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout = args[:layout] if args.key?(:layout) @left_offset = args[:left_offset] if args.key?(:left_offset) @top_offset = args[:top_offset] if args.key?(:top_offset) end end # A mask that indicates which of the fields on the base # PositionedObjectPositioning have been changed in this # suggestion. For any field set to true, there is a new suggested value. class PositionedObjectPositioningSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to layout. # Corresponds to the JSON property `layoutSuggested` # @return [Boolean] attr_accessor :layout_suggested alias_method :layout_suggested?, :layout_suggested # Indicates if there was a suggested change to left_offset. # Corresponds to the JSON property `leftOffsetSuggested` # @return [Boolean] attr_accessor :left_offset_suggested alias_method :left_offset_suggested?, :left_offset_suggested # Indicates if there was a suggested change to top_offset. # Corresponds to the JSON property `topOffsetSuggested` # @return [Boolean] attr_accessor :top_offset_suggested alias_method :top_offset_suggested?, :top_offset_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @layout_suggested = args[:layout_suggested] if args.key?(:layout_suggested) @left_offset_suggested = args[:left_offset_suggested] if args.key?(:left_offset_suggested) @top_offset_suggested = args[:top_offset_suggested] if args.key?(:top_offset_suggested) end end # Properties of a PositionedObject. class PositionedObjectProperties include Google::Apis::Core::Hashable # An embedded object in the document. # Corresponds to the JSON property `embeddedObject` # @return [Google::Apis::DocsV1::EmbeddedObject] attr_accessor :embedded_object # The positioning of a PositionedObject. The positioned object is positioned # relative to the beginning of the Paragraph # it is tethered to. # Corresponds to the JSON property `positioning` # @return [Google::Apis::DocsV1::PositionedObjectPositioning] attr_accessor :positioning def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @embedded_object = args[:embedded_object] if args.key?(:embedded_object) @positioning = args[:positioning] if args.key?(:positioning) end end # A mask that indicates which of the fields on the base # PositionedObjectProperties # have been changed in this suggestion. For any field set to true, there is a # new suggested value. class PositionedObjectPropertiesSuggestionState include Google::Apis::Core::Hashable # A mask that indicates which of the fields on the base EmbeddedObject have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `embeddedObjectSuggestionState` # @return [Google::Apis::DocsV1::EmbeddedObjectSuggestionState] attr_accessor :embedded_object_suggestion_state # A mask that indicates which of the fields on the base # PositionedObjectPositioning have been changed in this # suggestion. For any field set to true, there is a new suggested value. # Corresponds to the JSON property `positioningSuggestionState` # @return [Google::Apis::DocsV1::PositionedObjectPositioningSuggestionState] attr_accessor :positioning_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @embedded_object_suggestion_state = args[:embedded_object_suggestion_state] if args.key?(:embedded_object_suggestion_state) @positioning_suggestion_state = args[:positioning_suggestion_state] if args.key?(:positioning_suggestion_state) end end # Specifies a contiguous range of text. class Range include Google::Apis::Core::Hashable # The zero-based end index of this range, exclusive, in UTF-16 code units. # In all current uses, an end index must be provided. This field is an # Int32Value in order to accommodate future use cases with open-ended ranges. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # The ID of the header, footer or footnote that this range is contained in. # An empty segment ID signifies the document's body. # Corresponds to the JSON property `segmentId` # @return [String] attr_accessor :segment_id # The zero-based start index of this range, in UTF-16 code units. # In all current uses, a start index must be provided. This field is an # Int32Value in order to accommodate future use cases with open-ended ranges. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_index = args[:end_index] if args.key?(:end_index) @segment_id = args[:segment_id] if args.key?(:segment_id) @start_index = args[:start_index] if args.key?(:start_index) end end # Replaces all instances of text matching a criteria with replace text. class ReplaceAllTextRequest include Google::Apis::Core::Hashable # A criteria that matches a specific string of text in the document. # Corresponds to the JSON property `containsText` # @return [Google::Apis::DocsV1::SubstringMatchCriteria] attr_accessor :contains_text # The text that will replace the matched text. # Corresponds to the JSON property `replaceText` # @return [String] attr_accessor :replace_text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @contains_text = args[:contains_text] if args.key?(:contains_text) @replace_text = args[:replace_text] if args.key?(:replace_text) end end # The result of replacing text. class ReplaceAllTextResponse include Google::Apis::Core::Hashable # The number of occurrences changed by replacing all text. # Corresponds to the JSON property `occurrencesChanged` # @return [Fixnum] attr_accessor :occurrences_changed def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @occurrences_changed = args[:occurrences_changed] if args.key?(:occurrences_changed) end end # A single update to apply to a document. class Request include Google::Apis::Core::Hashable # Creates a NamedRange referencing the given # range. # Corresponds to the JSON property `createNamedRange` # @return [Google::Apis::DocsV1::CreateNamedRangeRequest] attr_accessor :create_named_range # Creates bullets for all of the paragraphs that overlap with the given range. # The nesting level of each paragraph will be determined by counting leading # tabs in front of each paragraph. To avoid excess space between the bullet and # the corresponding paragraph, these leading tabs are removed by this request. # This may change the indices of parts of the text. # If the paragraph immediately before paragraphs being updated is in a list # with a matching preset, the paragraphs being updated are added to that # preceding list. # Corresponds to the JSON property `createParagraphBullets` # @return [Google::Apis::DocsV1::CreateParagraphBulletsRequest] attr_accessor :create_paragraph_bullets # Deletes content from the document. # Corresponds to the JSON property `deleteContentRange` # @return [Google::Apis::DocsV1::DeleteContentRangeRequest] attr_accessor :delete_content_range # Deletes a NamedRange. # Corresponds to the JSON property `deleteNamedRange` # @return [Google::Apis::DocsV1::DeleteNamedRangeRequest] attr_accessor :delete_named_range # Deletes bullets from all of the paragraphs that overlap with the given range. # The nesting level of each paragraph will be visually preserved by adding # indent to the start of the corresponding paragraph. # Corresponds to the JSON property `deleteParagraphBullets` # @return [Google::Apis::DocsV1::DeleteParagraphBulletsRequest] attr_accessor :delete_paragraph_bullets # Deletes a PositionedObject from the # document. # Corresponds to the JSON property `deletePositionedObject` # @return [Google::Apis::DocsV1::DeletePositionedObjectRequest] attr_accessor :delete_positioned_object # Deletes a column from a table. # Corresponds to the JSON property `deleteTableColumn` # @return [Google::Apis::DocsV1::DeleteTableColumnRequest] attr_accessor :delete_table_column # Deletes a row from a table. # Corresponds to the JSON property `deleteTableRow` # @return [Google::Apis::DocsV1::DeleteTableRowRequest] attr_accessor :delete_table_row # Inserts an InlineObject containing an # image at the given location. # Corresponds to the JSON property `insertInlineImage` # @return [Google::Apis::DocsV1::InsertInlineImageRequest] attr_accessor :insert_inline_image # Inserts a page break followed by a newline at the specified location. # Corresponds to the JSON property `insertPageBreak` # @return [Google::Apis::DocsV1::InsertPageBreakRequest] attr_accessor :insert_page_break # Inserts a table at the specified location. # A newline character will be inserted before the inserted table. # Corresponds to the JSON property `insertTable` # @return [Google::Apis::DocsV1::InsertTableRequest] attr_accessor :insert_table # Inserts an empty row into a table. # Corresponds to the JSON property `insertTableRow` # @return [Google::Apis::DocsV1::InsertTableRowRequest] attr_accessor :insert_table_row # Inserts text at the specified location. # Corresponds to the JSON property `insertText` # @return [Google::Apis::DocsV1::InsertTextRequest] attr_accessor :insert_text # Replaces all instances of text matching a criteria with replace text. # Corresponds to the JSON property `replaceAllText` # @return [Google::Apis::DocsV1::ReplaceAllTextRequest] attr_accessor :replace_all_text # Update the styling of all paragraphs that overlap with the given range. # Corresponds to the JSON property `updateParagraphStyle` # @return [Google::Apis::DocsV1::UpdateParagraphStyleRequest] attr_accessor :update_paragraph_style # Update the styling of text. # Corresponds to the JSON property `updateTextStyle` # @return [Google::Apis::DocsV1::UpdateTextStyleRequest] attr_accessor :update_text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_named_range = args[:create_named_range] if args.key?(:create_named_range) @create_paragraph_bullets = args[:create_paragraph_bullets] if args.key?(:create_paragraph_bullets) @delete_content_range = args[:delete_content_range] if args.key?(:delete_content_range) @delete_named_range = args[:delete_named_range] if args.key?(:delete_named_range) @delete_paragraph_bullets = args[:delete_paragraph_bullets] if args.key?(:delete_paragraph_bullets) @delete_positioned_object = args[:delete_positioned_object] if args.key?(:delete_positioned_object) @delete_table_column = args[:delete_table_column] if args.key?(:delete_table_column) @delete_table_row = args[:delete_table_row] if args.key?(:delete_table_row) @insert_inline_image = args[:insert_inline_image] if args.key?(:insert_inline_image) @insert_page_break = args[:insert_page_break] if args.key?(:insert_page_break) @insert_table = args[:insert_table] if args.key?(:insert_table) @insert_table_row = args[:insert_table_row] if args.key?(:insert_table_row) @insert_text = args[:insert_text] if args.key?(:insert_text) @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text) @update_paragraph_style = args[:update_paragraph_style] if args.key?(:update_paragraph_style) @update_text_style = args[:update_text_style] if args.key?(:update_text_style) end end # A single response from an update. class Response include Google::Apis::Core::Hashable # The result of creating a named range. # Corresponds to the JSON property `createNamedRange` # @return [Google::Apis::DocsV1::CreateNamedRangeResponse] attr_accessor :create_named_range # The result of inserting an inline image. # Corresponds to the JSON property `insertInlineImage` # @return [Google::Apis::DocsV1::InsertInlineImageResponse] attr_accessor :insert_inline_image # The result of inserting an embedded Google Sheets chart. # Corresponds to the JSON property `insertInlineSheetsChart` # @return [Google::Apis::DocsV1::InsertInlineSheetsChartResponse] attr_accessor :insert_inline_sheets_chart # The result of replacing text. # Corresponds to the JSON property `replaceAllText` # @return [Google::Apis::DocsV1::ReplaceAllTextResponse] attr_accessor :replace_all_text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @create_named_range = args[:create_named_range] if args.key?(:create_named_range) @insert_inline_image = args[:insert_inline_image] if args.key?(:insert_inline_image) @insert_inline_sheets_chart = args[:insert_inline_sheets_chart] if args.key?(:insert_inline_sheets_chart) @replace_all_text = args[:replace_all_text] if args.key?(:replace_all_text) end end # An RGB color. class RgbColor include Google::Apis::Core::Hashable # The blue component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `blue` # @return [Float] attr_accessor :blue # The green component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `green` # @return [Float] attr_accessor :green # The red component of the color, from 0.0 to 1.0. # Corresponds to the JSON property `red` # @return [Float] attr_accessor :red def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @blue = args[:blue] if args.key?(:blue) @green = args[:green] if args.key?(:green) @red = args[:red] if args.key?(:red) end end # A StructuralElement representing a # section break. A section is a range of content which has the same # SectionStyle. A section break represents # the start of a new section, and the section style applies to the section # after the section break. # The document body always begins with a section break. class SectionBreak include Google::Apis::Core::Hashable # The styling that applies to a section. # Corresponds to the JSON property `sectionStyle` # @return [Google::Apis::DocsV1::SectionStyle] attr_accessor :section_style # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if # it is # a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @section_style = args[:section_style] if args.key?(:section_style) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) end end # Properties that apply to a section's column. class SectionColumnProperties include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `paddingEnd` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding_end # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @padding_end = args[:padding_end] if args.key?(:padding_end) @width = args[:width] if args.key?(:width) end end # The styling that applies to a section. class SectionStyle include Google::Apis::Core::Hashable # The section's columns properties. # If empty, the section contains one column with the default properties in # the Docs editor. # Corresponds to the JSON property `columnProperties` # @return [Array] attr_accessor :column_properties # The style of column separators. # This style can be set even when there is one column in the section. # Corresponds to the JSON property `columnSeparatorStyle` # @return [String] attr_accessor :column_separator_style # The content direction of this section. If unset, the value defaults to # LEFT_TO_RIGHT. # Corresponds to the JSON property `contentDirection` # @return [String] attr_accessor :content_direction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_properties = args[:column_properties] if args.key?(:column_properties) @column_separator_style = args[:column_separator_style] if args.key?(:column_separator_style) @content_direction = args[:content_direction] if args.key?(:content_direction) end end # The shading of a paragraph. class Shading include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `backgroundColor` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :background_color def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color = args[:background_color] if args.key?(:background_color) end end # A mask that indicates which of the fields on the base Shading have been # changed in this # suggested change. For any field set to true, there is a new suggested value. class ShadingSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to the Shading. # Corresponds to the JSON property `backgroundColorSuggested` # @return [Boolean] attr_accessor :background_color_suggested alias_method :background_color_suggested?, :background_color_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color_suggested = args[:background_color_suggested] if args.key?(:background_color_suggested) end end # A reference to a linked chart embedded from Google Sheets. class SheetsChartReference include Google::Apis::Core::Hashable # The ID of the specific chart in the Google Sheets spreadsheet that is # embedded. # Corresponds to the JSON property `chartId` # @return [Fixnum] attr_accessor :chart_id # The ID of the Google Sheets spreadsheet that contains the source chart. # Corresponds to the JSON property `spreadsheetId` # @return [String] attr_accessor :spreadsheet_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_id = args[:chart_id] if args.key?(:chart_id) @spreadsheet_id = args[:spreadsheet_id] if args.key?(:spreadsheet_id) end end # A mask that indicates which of the fields on the base SheetsChartReference # have been changed in this # suggestion. For any field set to true, there is a new suggested value. class SheetsChartReferenceSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to chart_id. # Corresponds to the JSON property `chartIdSuggested` # @return [Boolean] attr_accessor :chart_id_suggested alias_method :chart_id_suggested?, :chart_id_suggested # Indicates if there was a suggested change to spreadsheet_id. # Corresponds to the JSON property `spreadsheetIdSuggested` # @return [Boolean] attr_accessor :spreadsheet_id_suggested alias_method :spreadsheet_id_suggested?, :spreadsheet_id_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @chart_id_suggested = args[:chart_id_suggested] if args.key?(:chart_id_suggested) @spreadsheet_id_suggested = args[:spreadsheet_id_suggested] if args.key?(:spreadsheet_id_suggested) end end # A width and height. class Size include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `height` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :height # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @height = args[:height] if args.key?(:height) @width = args[:width] if args.key?(:width) end end # A mask that indicates which of the fields on the base Size have been changed # in this suggestion. # For any field set to true, the Size has # a new suggested value. class SizeSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to height. # Corresponds to the JSON property `heightSuggested` # @return [Boolean] attr_accessor :height_suggested alias_method :height_suggested?, :height_suggested # Indicates if there was a suggested change to width. # Corresponds to the JSON property `widthSuggested` # @return [Boolean] attr_accessor :width_suggested alias_method :width_suggested?, :width_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @height_suggested = args[:height_suggested] if args.key?(:height_suggested) @width_suggested = args[:width_suggested] if args.key?(:width_suggested) end end # A StructuralElement describes content that provides structure to the # document. class StructuralElement include Google::Apis::Core::Hashable # The zero-based end index of this structural element, exclusive, in UTF-16 # code units. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # A StructuralElement representing a # paragraph. A paragraph is a range of content that is terminated with a # newline character. # Corresponds to the JSON property `paragraph` # @return [Google::Apis::DocsV1::Paragraph] attr_accessor :paragraph # A StructuralElement representing a # section break. A section is a range of content which has the same # SectionStyle. A section break represents # the start of a new section, and the section style applies to the section # after the section break. # The document body always begins with a section break. # Corresponds to the JSON property `sectionBreak` # @return [Google::Apis::DocsV1::SectionBreak] attr_accessor :section_break # The zero-based start index of this structural element, in UTF-16 code # units. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # A StructuralElement representing a # table. # Corresponds to the JSON property `table` # @return [Google::Apis::DocsV1::Table] attr_accessor :table # A StructuralElement representing # a table of contents. # Corresponds to the JSON property `tableOfContents` # @return [Google::Apis::DocsV1::TableOfContents] attr_accessor :table_of_contents def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_index = args[:end_index] if args.key?(:end_index) @paragraph = args[:paragraph] if args.key?(:paragraph) @section_break = args[:section_break] if args.key?(:section_break) @start_index = args[:start_index] if args.key?(:start_index) @table = args[:table] if args.key?(:table) @table_of_contents = args[:table_of_contents] if args.key?(:table_of_contents) end end # A criteria that matches a specific string of text in the document. class SubstringMatchCriteria include Google::Apis::Core::Hashable # Indicates whether the search should respect case: # - `True`: the search is case sensitive. # - `False`: the search is case insensitive. # Corresponds to the JSON property `matchCase` # @return [Boolean] attr_accessor :match_case alias_method :match_case?, :match_case # The text to search for in the document. # Corresponds to the JSON property `text` # @return [String] attr_accessor :text def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @match_case = args[:match_case] if args.key?(:match_case) @text = args[:text] if args.key?(:text) end end # A suggested change to a Bullet. class SuggestedBullet include Google::Apis::Core::Hashable # Describes the bullet of a paragraph. # Corresponds to the JSON property `bullet` # @return [Google::Apis::DocsV1::Bullet] attr_accessor :bullet # A mask that indicates which of the fields on the base # Bullet have been changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `bulletSuggestionState` # @return [Google::Apis::DocsV1::BulletSuggestionState] attr_accessor :bullet_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bullet = args[:bullet] if args.key?(:bullet) @bullet_suggestion_state = args[:bullet_suggestion_state] if args.key?(:bullet_suggestion_state) end end # A suggested change to the DocumentStyle. class SuggestedDocumentStyle include Google::Apis::Core::Hashable # The style of the document. # Corresponds to the JSON property `documentStyle` # @return [Google::Apis::DocsV1::DocumentStyle] attr_accessor :document_style # A mask that indicates which of the fields on the base DocumentStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `documentStyleSuggestionState` # @return [Google::Apis::DocsV1::DocumentStyleSuggestionState] attr_accessor :document_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document_style = args[:document_style] if args.key?(:document_style) @document_style_suggestion_state = args[:document_style_suggestion_state] if args.key?(:document_style_suggestion_state) end end # A suggested change to InlineObjectProperties. class SuggestedInlineObjectProperties include Google::Apis::Core::Hashable # Properties of an InlineObject. # Corresponds to the JSON property `inlineObjectProperties` # @return [Google::Apis::DocsV1::InlineObjectProperties] attr_accessor :inline_object_properties # A mask that indicates which of the fields on the base # InlineObjectProperties have # been changed in this suggestion. For any field set to true, there is a new # suggested value. # Corresponds to the JSON property `inlineObjectPropertiesSuggestionState` # @return [Google::Apis::DocsV1::InlineObjectPropertiesSuggestionState] attr_accessor :inline_object_properties_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @inline_object_properties = args[:inline_object_properties] if args.key?(:inline_object_properties) @inline_object_properties_suggestion_state = args[:inline_object_properties_suggestion_state] if args.key?(:inline_object_properties_suggestion_state) end end # A suggested change to ListProperties. class SuggestedListProperties include Google::Apis::Core::Hashable # The properties of a list which describe the look # and feel of bullets belonging to paragraphs associated with a list. # Corresponds to the JSON property `listProperties` # @return [Google::Apis::DocsV1::ListProperties] attr_accessor :list_properties # A mask that indicates which of the fields on the base ListProperties have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `listPropertiesSuggestionState` # @return [Google::Apis::DocsV1::ListPropertiesSuggestionState] attr_accessor :list_properties_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @list_properties = args[:list_properties] if args.key?(:list_properties) @list_properties_suggestion_state = args[:list_properties_suggestion_state] if args.key?(:list_properties_suggestion_state) end end # A suggested change to the NamedStyles. class SuggestedNamedStyles include Google::Apis::Core::Hashable # The named styles. Paragraphs in the document can inherit their # TextStyle and # ParagraphStyle from these named styles. # Corresponds to the JSON property `namedStyles` # @return [Google::Apis::DocsV1::NamedStyles] attr_accessor :named_styles # The suggestion state of a NamedStyles # message. # Corresponds to the JSON property `namedStylesSuggestionState` # @return [Google::Apis::DocsV1::NamedStylesSuggestionState] attr_accessor :named_styles_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @named_styles = args[:named_styles] if args.key?(:named_styles) @named_styles_suggestion_state = args[:named_styles_suggestion_state] if args.key?(:named_styles_suggestion_state) end end # A suggested change to a # ParagraphStyle. class SuggestedParagraphStyle include Google::Apis::Core::Hashable # Styles that apply to a whole paragraph. # Inherited paragraph styles are represented as unset fields in this message. # A paragraph style's parent depends on where the paragraph style is defined: # * The ParagraphStyle on a Paragraph # inherits from the paragraph's corresponding named style type. # * The ParagraphStyle on a named style # inherits from the normal text named style. # * The ParagraphStyle of the normal text named style inherits # from the default paragraph style in the Docs editor. # * The ParagraphStyle on a Paragraph # element that is contained in a table may inherit its paragraph style from # the table style. # If the paragraph style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `paragraphStyle` # @return [Google::Apis::DocsV1::ParagraphStyle] attr_accessor :paragraph_style # A mask that indicates which of the fields on the base ParagraphStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `paragraphStyleSuggestionState` # @return [Google::Apis::DocsV1::ParagraphStyleSuggestionState] attr_accessor :paragraph_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @paragraph_style = args[:paragraph_style] if args.key?(:paragraph_style) @paragraph_style_suggestion_state = args[:paragraph_style_suggestion_state] if args.key?(:paragraph_style_suggestion_state) end end # A suggested change to PositionedObjectProperties. class SuggestedPositionedObjectProperties include Google::Apis::Core::Hashable # Properties of a PositionedObject. # Corresponds to the JSON property `positionedObjectProperties` # @return [Google::Apis::DocsV1::PositionedObjectProperties] attr_accessor :positioned_object_properties # A mask that indicates which of the fields on the base # PositionedObjectProperties # have been changed in this suggestion. For any field set to true, there is a # new suggested value. # Corresponds to the JSON property `positionedObjectPropertiesSuggestionState` # @return [Google::Apis::DocsV1::PositionedObjectPropertiesSuggestionState] attr_accessor :positioned_object_properties_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @positioned_object_properties = args[:positioned_object_properties] if args.key?(:positioned_object_properties) @positioned_object_properties_suggestion_state = args[:positioned_object_properties_suggestion_state] if args.key?(:positioned_object_properties_suggestion_state) end end # A suggested change to a TableCellStyle. class SuggestedTableCellStyle include Google::Apis::Core::Hashable # The style of a TableCell. # Inherited table cell styles are represented as unset fields in this message. # A table cell style can inherit from the table's style. # Corresponds to the JSON property `tableCellStyle` # @return [Google::Apis::DocsV1::TableCellStyle] attr_accessor :table_cell_style # A mask that indicates which of the fields on the base TableCellStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `tableCellStyleSuggestionState` # @return [Google::Apis::DocsV1::TableCellStyleSuggestionState] attr_accessor :table_cell_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_cell_style = args[:table_cell_style] if args.key?(:table_cell_style) @table_cell_style_suggestion_state = args[:table_cell_style_suggestion_state] if args.key?(:table_cell_style_suggestion_state) end end # A suggested change to a # TableRowStyle. class SuggestedTableRowStyle include Google::Apis::Core::Hashable # Styles that apply to a table row. # Corresponds to the JSON property `tableRowStyle` # @return [Google::Apis::DocsV1::TableRowStyle] attr_accessor :table_row_style # A mask that indicates which of the fields on the base TableRowStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `tableRowStyleSuggestionState` # @return [Google::Apis::DocsV1::TableRowStyleSuggestionState] attr_accessor :table_row_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_row_style = args[:table_row_style] if args.key?(:table_row_style) @table_row_style_suggestion_state = args[:table_row_style_suggestion_state] if args.key?(:table_row_style_suggestion_state) end end # A suggested change to a TextStyle. class SuggestedTextStyle include Google::Apis::Core::Hashable # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style # A mask that indicates which of the fields on the base TextStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. # Corresponds to the JSON property `textStyleSuggestionState` # @return [Google::Apis::DocsV1::TextStyleSuggestionState] attr_accessor :text_style_suggestion_state def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @text_style = args[:text_style] if args.key?(:text_style) @text_style_suggestion_state = args[:text_style_suggestion_state] if args.key?(:text_style_suggestion_state) end end # A tab stop within a paragraph. class TabStop include Google::Apis::Core::Hashable # The alignment of this tab stop. If unset, the value defaults to START. # Corresponds to the JSON property `alignment` # @return [String] attr_accessor :alignment # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `offset` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :offset def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @alignment = args[:alignment] if args.key?(:alignment) @offset = args[:offset] if args.key?(:offset) end end # A StructuralElement representing a # table. class Table include Google::Apis::Core::Hashable # Number of columns in the table. # It is possible for a table to be non-rectangular, so some rows may have a # different number of cells. # Corresponds to the JSON property `columns` # @return [Fixnum] attr_accessor :columns # Number of rows in the table. # Corresponds to the JSON property `rows` # @return [Fixnum] attr_accessor :rows # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A Table may have # multiple insertion IDs if it is a nested suggested change. If empty, then # this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The contents and style of each row. # Corresponds to the JSON property `tableRows` # @return [Array] attr_accessor :table_rows # Styles that apply to a table. # Corresponds to the JSON property `tableStyle` # @return [Google::Apis::DocsV1::TableStyle] attr_accessor :table_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @columns = args[:columns] if args.key?(:columns) @rows = args[:rows] if args.key?(:rows) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @table_rows = args[:table_rows] if args.key?(:table_rows) @table_style = args[:table_style] if args.key?(:table_style) end end # The contents and style of a cell in a Table. class TableCell include Google::Apis::Core::Hashable # The content of the cell. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # The zero-based end index of this cell, exclusive, in UTF-16 code units. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # The zero-based start index of this cell, in UTF-16 code units. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A TableCell # may have multiple insertion IDs if it is a nested suggested change. If # empty, then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested changes to the table cell style, keyed by suggestion ID. # Corresponds to the JSON property `suggestedTableCellStyleChanges` # @return [Hash] attr_accessor :suggested_table_cell_style_changes # The style of a TableCell. # Inherited table cell styles are represented as unset fields in this message. # A table cell style can inherit from the table's style. # Corresponds to the JSON property `tableCellStyle` # @return [Google::Apis::DocsV1::TableCellStyle] attr_accessor :table_cell_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @end_index = args[:end_index] if args.key?(:end_index) @start_index = args[:start_index] if args.key?(:start_index) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_table_cell_style_changes = args[:suggested_table_cell_style_changes] if args.key?(:suggested_table_cell_style_changes) @table_cell_style = args[:table_cell_style] if args.key?(:table_cell_style) end end # A border around a table cell. class TableCellBorder include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `color` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :color # The dash style of the border. # Corresponds to the JSON property `dashStyle` # @return [String] attr_accessor :dash_style # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @color = args[:color] if args.key?(:color) @dash_style = args[:dash_style] if args.key?(:dash_style) @width = args[:width] if args.key?(:width) end end # Location of a single cell within a table. class TableCellLocation include Google::Apis::Core::Hashable # The zero-based column index. For example, the second column in the table # has a column index of 1. # Corresponds to the JSON property `columnIndex` # @return [Fixnum] attr_accessor :column_index # The zero-based row index. For example, the second row in the table has a # row index of 1. # Corresponds to the JSON property `rowIndex` # @return [Fixnum] attr_accessor :row_index # A particular location in the document. # Corresponds to the JSON property `tableStartLocation` # @return [Google::Apis::DocsV1::Location] attr_accessor :table_start_location def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_index = args[:column_index] if args.key?(:column_index) @row_index = args[:row_index] if args.key?(:row_index) @table_start_location = args[:table_start_location] if args.key?(:table_start_location) end end # The style of a TableCell. # Inherited table cell styles are represented as unset fields in this message. # A table cell style can inherit from the table's style. class TableCellStyle include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `backgroundColor` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :background_color # A border around a table cell. # Corresponds to the JSON property `borderBottom` # @return [Google::Apis::DocsV1::TableCellBorder] attr_accessor :border_bottom # A border around a table cell. # Corresponds to the JSON property `borderLeft` # @return [Google::Apis::DocsV1::TableCellBorder] attr_accessor :border_left # A border around a table cell. # Corresponds to the JSON property `borderRight` # @return [Google::Apis::DocsV1::TableCellBorder] attr_accessor :border_right # A border around a table cell. # Corresponds to the JSON property `borderTop` # @return [Google::Apis::DocsV1::TableCellBorder] attr_accessor :border_top # The column span of the cell. This property is read-only. # Corresponds to the JSON property `columnSpan` # @return [Fixnum] attr_accessor :column_span # The alignment of the content in the table cell. The default alignment # matches the alignment for newly created table cells in the Docs editor. # Corresponds to the JSON property `contentAlignment` # @return [String] attr_accessor :content_alignment # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `paddingBottom` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding_bottom # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `paddingLeft` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding_left # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `paddingRight` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding_right # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `paddingTop` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :padding_top # The row span of the cell. This property is read-only. # Corresponds to the JSON property `rowSpan` # @return [Fixnum] attr_accessor :row_span def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color = args[:background_color] if args.key?(:background_color) @border_bottom = args[:border_bottom] if args.key?(:border_bottom) @border_left = args[:border_left] if args.key?(:border_left) @border_right = args[:border_right] if args.key?(:border_right) @border_top = args[:border_top] if args.key?(:border_top) @column_span = args[:column_span] if args.key?(:column_span) @content_alignment = args[:content_alignment] if args.key?(:content_alignment) @padding_bottom = args[:padding_bottom] if args.key?(:padding_bottom) @padding_left = args[:padding_left] if args.key?(:padding_left) @padding_right = args[:padding_right] if args.key?(:padding_right) @padding_top = args[:padding_top] if args.key?(:padding_top) @row_span = args[:row_span] if args.key?(:row_span) end end # A mask that indicates which of the fields on the base TableCellStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class TableCellStyleSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to background_color. # Corresponds to the JSON property `backgroundColorSuggested` # @return [Boolean] attr_accessor :background_color_suggested alias_method :background_color_suggested?, :background_color_suggested # Indicates if there was a suggested change to border_bottom. # Corresponds to the JSON property `borderBottomSuggested` # @return [Boolean] attr_accessor :border_bottom_suggested alias_method :border_bottom_suggested?, :border_bottom_suggested # Indicates if there was a suggested change to border_left. # Corresponds to the JSON property `borderLeftSuggested` # @return [Boolean] attr_accessor :border_left_suggested alias_method :border_left_suggested?, :border_left_suggested # Indicates if there was a suggested change to border_right. # Corresponds to the JSON property `borderRightSuggested` # @return [Boolean] attr_accessor :border_right_suggested alias_method :border_right_suggested?, :border_right_suggested # Indicates if there was a suggested change to border_top. # Corresponds to the JSON property `borderTopSuggested` # @return [Boolean] attr_accessor :border_top_suggested alias_method :border_top_suggested?, :border_top_suggested # Indicates if there was a suggested change to column_span. # Corresponds to the JSON property `columnSpanSuggested` # @return [Boolean] attr_accessor :column_span_suggested alias_method :column_span_suggested?, :column_span_suggested # Indicates if there was a suggested change to content_alignment. # Corresponds to the JSON property `contentAlignmentSuggested` # @return [Boolean] attr_accessor :content_alignment_suggested alias_method :content_alignment_suggested?, :content_alignment_suggested # Indicates if there was a suggested change to padding_bottom. # Corresponds to the JSON property `paddingBottomSuggested` # @return [Boolean] attr_accessor :padding_bottom_suggested alias_method :padding_bottom_suggested?, :padding_bottom_suggested # Indicates if there was a suggested change to padding_left. # Corresponds to the JSON property `paddingLeftSuggested` # @return [Boolean] attr_accessor :padding_left_suggested alias_method :padding_left_suggested?, :padding_left_suggested # Indicates if there was a suggested change to padding_right. # Corresponds to the JSON property `paddingRightSuggested` # @return [Boolean] attr_accessor :padding_right_suggested alias_method :padding_right_suggested?, :padding_right_suggested # Indicates if there was a suggested change to padding_top. # Corresponds to the JSON property `paddingTopSuggested` # @return [Boolean] attr_accessor :padding_top_suggested alias_method :padding_top_suggested?, :padding_top_suggested # Indicates if there was a suggested change to row_span. # Corresponds to the JSON property `rowSpanSuggested` # @return [Boolean] attr_accessor :row_span_suggested alias_method :row_span_suggested?, :row_span_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color_suggested = args[:background_color_suggested] if args.key?(:background_color_suggested) @border_bottom_suggested = args[:border_bottom_suggested] if args.key?(:border_bottom_suggested) @border_left_suggested = args[:border_left_suggested] if args.key?(:border_left_suggested) @border_right_suggested = args[:border_right_suggested] if args.key?(:border_right_suggested) @border_top_suggested = args[:border_top_suggested] if args.key?(:border_top_suggested) @column_span_suggested = args[:column_span_suggested] if args.key?(:column_span_suggested) @content_alignment_suggested = args[:content_alignment_suggested] if args.key?(:content_alignment_suggested) @padding_bottom_suggested = args[:padding_bottom_suggested] if args.key?(:padding_bottom_suggested) @padding_left_suggested = args[:padding_left_suggested] if args.key?(:padding_left_suggested) @padding_right_suggested = args[:padding_right_suggested] if args.key?(:padding_right_suggested) @padding_top_suggested = args[:padding_top_suggested] if args.key?(:padding_top_suggested) @row_span_suggested = args[:row_span_suggested] if args.key?(:row_span_suggested) end end # The properties of a column in a table. class TableColumnProperties include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `width` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :width # The width type of the column. # Corresponds to the JSON property `widthType` # @return [String] attr_accessor :width_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @width = args[:width] if args.key?(:width) @width_type = args[:width_type] if args.key?(:width_type) end end # A StructuralElement representing # a table of contents. class TableOfContents include Google::Apis::Core::Hashable # The content of the table of contents. # Corresponds to the JSON property `content` # @return [Array] attr_accessor :content # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A TableOfContents may have multiple insertion IDs # if it # is a nested suggested change. If empty, then this is not a suggested # insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) end end # The contents and style of a row in a Table. class TableRow include Google::Apis::Core::Hashable # The zero-based end index of this row, exclusive, in UTF-16 code units. # Corresponds to the JSON property `endIndex` # @return [Fixnum] attr_accessor :end_index # The zero-based start index of this row, in UTF-16 code units. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A TableRow # may have multiple insertion IDs if it is a nested suggested change. If # empty, then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested style changes to this row, keyed by suggestion ID. # Corresponds to the JSON property `suggestedTableRowStyleChanges` # @return [Hash] attr_accessor :suggested_table_row_style_changes # The contents and style of each cell in this row. # It is possible for a table to be non-rectangular, so some rows may have a # different number of cells than other rows in the same table. # Corresponds to the JSON property `tableCells` # @return [Array] attr_accessor :table_cells # Styles that apply to a table row. # Corresponds to the JSON property `tableRowStyle` # @return [Google::Apis::DocsV1::TableRowStyle] attr_accessor :table_row_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_index = args[:end_index] if args.key?(:end_index) @start_index = args[:start_index] if args.key?(:start_index) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_table_row_style_changes = args[:suggested_table_row_style_changes] if args.key?(:suggested_table_row_style_changes) @table_cells = args[:table_cells] if args.key?(:table_cells) @table_row_style = args[:table_row_style] if args.key?(:table_row_style) end end # Styles that apply to a table row. class TableRowStyle include Google::Apis::Core::Hashable # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `minRowHeight` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :min_row_height def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_row_height = args[:min_row_height] if args.key?(:min_row_height) end end # A mask that indicates which of the fields on the base TableRowStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class TableRowStyleSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to min_row_height. # Corresponds to the JSON property `minRowHeightSuggested` # @return [Boolean] attr_accessor :min_row_height_suggested alias_method :min_row_height_suggested?, :min_row_height_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @min_row_height_suggested = args[:min_row_height_suggested] if args.key?(:min_row_height_suggested) end end # Styles that apply to a table. class TableStyle include Google::Apis::Core::Hashable # The properties of each column. # Note that in Docs, tables contain rows and rows contain cells, similar to # HTML. So the properties for a row can be found on the row's # table_row_style. # Corresponds to the JSON property `tableColumnProperties` # @return [Array] attr_accessor :table_column_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @table_column_properties = args[:table_column_properties] if args.key?(:table_column_properties) end end # A ParagraphElement that represents a # run of text that all has the same styling. class TextRun include Google::Apis::Core::Hashable # The text of this run. # Any non-text elements in the run are replaced with the Unicode character # U+E907. # Corresponds to the JSON property `content` # @return [String] attr_accessor :content # The suggested deletion IDs. If empty, then there are no suggested deletions # of this content. # Corresponds to the JSON property `suggestedDeletionIds` # @return [Array] attr_accessor :suggested_deletion_ids # The suggested insertion IDs. A TextRun may # have multiple insertion IDs if it is a nested suggested change. If empty, # then this is not a suggested insertion. # Corresponds to the JSON property `suggestedInsertionIds` # @return [Array] attr_accessor :suggested_insertion_ids # The suggested text style changes to this run, keyed by suggestion ID. # Corresponds to the JSON property `suggestedTextStyleChanges` # @return [Hash] attr_accessor :suggested_text_style_changes # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @content = args[:content] if args.key?(:content) @suggested_deletion_ids = args[:suggested_deletion_ids] if args.key?(:suggested_deletion_ids) @suggested_insertion_ids = args[:suggested_insertion_ids] if args.key?(:suggested_insertion_ids) @suggested_text_style_changes = args[:suggested_text_style_changes] if args.key?(:suggested_text_style_changes) @text_style = args[:text_style] if args.key?(:text_style) end end # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. class TextStyle include Google::Apis::Core::Hashable # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `backgroundColor` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :background_color # The text's vertical offset from its normal position. # Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically # rendered in a smaller font size, computed based on the `font_size` field. # The `font_size` itself is not affected by changes in this field. # Corresponds to the JSON property `baselineOffset` # @return [String] attr_accessor :baseline_offset # Whether or not the text is rendered as bold. # Corresponds to the JSON property `bold` # @return [Boolean] attr_accessor :bold alias_method :bold?, :bold # A magnitude in a single direction in the specified units. # Corresponds to the JSON property `fontSize` # @return [Google::Apis::DocsV1::Dimension] attr_accessor :font_size # A color that can either be fully opaque or fully transparent. # Corresponds to the JSON property `foregroundColor` # @return [Google::Apis::DocsV1::OptionalColor] attr_accessor :foreground_color # Whether or not the text is italicized. # Corresponds to the JSON property `italic` # @return [Boolean] attr_accessor :italic alias_method :italic?, :italic # A reference to another portion of a document or an external URL resource. # Corresponds to the JSON property `link` # @return [Google::Apis::DocsV1::Link] attr_accessor :link # Whether or not the text is in small capital letters. # Corresponds to the JSON property `smallCaps` # @return [Boolean] attr_accessor :small_caps alias_method :small_caps?, :small_caps # Whether or not the text is struck through. # Corresponds to the JSON property `strikethrough` # @return [Boolean] attr_accessor :strikethrough alias_method :strikethrough?, :strikethrough # Whether or not the text is underlined. # Corresponds to the JSON property `underline` # @return [Boolean] attr_accessor :underline alias_method :underline?, :underline # Represents a font family and weight of text. # Corresponds to the JSON property `weightedFontFamily` # @return [Google::Apis::DocsV1::WeightedFontFamily] attr_accessor :weighted_font_family def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color = args[:background_color] if args.key?(:background_color) @baseline_offset = args[:baseline_offset] if args.key?(:baseline_offset) @bold = args[:bold] if args.key?(:bold) @font_size = args[:font_size] if args.key?(:font_size) @foreground_color = args[:foreground_color] if args.key?(:foreground_color) @italic = args[:italic] if args.key?(:italic) @link = args[:link] if args.key?(:link) @small_caps = args[:small_caps] if args.key?(:small_caps) @strikethrough = args[:strikethrough] if args.key?(:strikethrough) @underline = args[:underline] if args.key?(:underline) @weighted_font_family = args[:weighted_font_family] if args.key?(:weighted_font_family) end end # A mask that indicates which of the fields on the base TextStyle have been # changed in this suggestion. # For any field set to true, there is a new suggested value. class TextStyleSuggestionState include Google::Apis::Core::Hashable # Indicates if there was a suggested change to background_color. # Corresponds to the JSON property `backgroundColorSuggested` # @return [Boolean] attr_accessor :background_color_suggested alias_method :background_color_suggested?, :background_color_suggested # Indicates if there was a suggested change to baseline_offset. # Corresponds to the JSON property `baselineOffsetSuggested` # @return [Boolean] attr_accessor :baseline_offset_suggested alias_method :baseline_offset_suggested?, :baseline_offset_suggested # Indicates if there was a suggested change to bold. # Corresponds to the JSON property `boldSuggested` # @return [Boolean] attr_accessor :bold_suggested alias_method :bold_suggested?, :bold_suggested # Indicates if there was a suggested change to font_size. # Corresponds to the JSON property `fontSizeSuggested` # @return [Boolean] attr_accessor :font_size_suggested alias_method :font_size_suggested?, :font_size_suggested # Indicates if there was a suggested change to foreground_color. # Corresponds to the JSON property `foregroundColorSuggested` # @return [Boolean] attr_accessor :foreground_color_suggested alias_method :foreground_color_suggested?, :foreground_color_suggested # Indicates if there was a suggested change to italic. # Corresponds to the JSON property `italicSuggested` # @return [Boolean] attr_accessor :italic_suggested alias_method :italic_suggested?, :italic_suggested # Indicates if there was a suggested change to link. # Corresponds to the JSON property `linkSuggested` # @return [Boolean] attr_accessor :link_suggested alias_method :link_suggested?, :link_suggested # Indicates if there was a suggested change to small_caps. # Corresponds to the JSON property `smallCapsSuggested` # @return [Boolean] attr_accessor :small_caps_suggested alias_method :small_caps_suggested?, :small_caps_suggested # Indicates if there was a suggested change to strikethrough. # Corresponds to the JSON property `strikethroughSuggested` # @return [Boolean] attr_accessor :strikethrough_suggested alias_method :strikethrough_suggested?, :strikethrough_suggested # Indicates if there was a suggested change to underline. # Corresponds to the JSON property `underlineSuggested` # @return [Boolean] attr_accessor :underline_suggested alias_method :underline_suggested?, :underline_suggested # Indicates if there was a suggested change to weighted_font_family. # Corresponds to the JSON property `weightedFontFamilySuggested` # @return [Boolean] attr_accessor :weighted_font_family_suggested alias_method :weighted_font_family_suggested?, :weighted_font_family_suggested def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @background_color_suggested = args[:background_color_suggested] if args.key?(:background_color_suggested) @baseline_offset_suggested = args[:baseline_offset_suggested] if args.key?(:baseline_offset_suggested) @bold_suggested = args[:bold_suggested] if args.key?(:bold_suggested) @font_size_suggested = args[:font_size_suggested] if args.key?(:font_size_suggested) @foreground_color_suggested = args[:foreground_color_suggested] if args.key?(:foreground_color_suggested) @italic_suggested = args[:italic_suggested] if args.key?(:italic_suggested) @link_suggested = args[:link_suggested] if args.key?(:link_suggested) @small_caps_suggested = args[:small_caps_suggested] if args.key?(:small_caps_suggested) @strikethrough_suggested = args[:strikethrough_suggested] if args.key?(:strikethrough_suggested) @underline_suggested = args[:underline_suggested] if args.key?(:underline_suggested) @weighted_font_family_suggested = args[:weighted_font_family_suggested] if args.key?(:weighted_font_family_suggested) end end # Update the styling of all paragraphs that overlap with the given range. class UpdateParagraphStyleRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `paragraph_style` is implied # and should not be specified. # For example, to update the paragraph style's alignment property, set # `fields` to `"alignment"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # Styles that apply to a whole paragraph. # Inherited paragraph styles are represented as unset fields in this message. # A paragraph style's parent depends on where the paragraph style is defined: # * The ParagraphStyle on a Paragraph # inherits from the paragraph's corresponding named style type. # * The ParagraphStyle on a named style # inherits from the normal text named style. # * The ParagraphStyle of the normal text named style inherits # from the default paragraph style in the Docs editor. # * The ParagraphStyle on a Paragraph # element that is contained in a table may inherit its paragraph style from # the table style. # If the paragraph style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `paragraphStyle` # @return [Google::Apis::DocsV1::ParagraphStyle] attr_accessor :paragraph_style # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @paragraph_style = args[:paragraph_style] if args.key?(:paragraph_style) @range = args[:range] if args.key?(:range) end end # Update the styling of text. class UpdateTextStyleRequest include Google::Apis::Core::Hashable # The fields that should be updated. # At least one field must be specified. The root `text_style` is implied and # should not be specified. A single `"*"` can be used as short-hand for # listing every field. # For example, to update the text style to bold, set `fields` to `"bold"`. # To reset a property to its default value, include its field name in the # field mask but leave the field itself unset. # Corresponds to the JSON property `fields` # @return [String] attr_accessor :fields # Specifies a contiguous range of text. # Corresponds to the JSON property `range` # @return [Google::Apis::DocsV1::Range] attr_accessor :range # Represents the styling that can be applied to text. # Inherited text styles are represented as unset fields in this message. A # text style's parent depends on where the text style is defined: # * The TextStyle of text in a Paragraph # inherits from the paragraph's corresponding named style type. # * The TextStyle on a named style # inherits from the normal text named style. # * The TextStyle of the normal text named style inherits # from the default text style in the Docs editor. # * The TextStyle on a Paragraph element # that is contained in a table may inherit its text style from the table # style. # If the text style does not inherit from a parent, unsetting fields will # revert the style to a value matching the defaults in the Docs editor. # Corresponds to the JSON property `textStyle` # @return [Google::Apis::DocsV1::TextStyle] attr_accessor :text_style def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @fields = args[:fields] if args.key?(:fields) @range = args[:range] if args.key?(:range) @text_style = args[:text_style] if args.key?(:text_style) end end # Represents a font family and weight of text. class WeightedFontFamily include Google::Apis::Core::Hashable # The font family of the text. # The font family can be any font from the Font menu in Docs or from # [Google Fonts] (https://fonts.google.com/). If the font name is # unrecognized, the text is rendered in `Arial`. # Corresponds to the JSON property `fontFamily` # @return [String] attr_accessor :font_family # The weight of the font. This field can have any value that is a multiple of # `100` between `100` and `900`, inclusive. This range corresponds to the # numerical values described in the CSS 2.1 Specification, # [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with # non-numerical values disallowed. # The default value is `400` ("normal"). # The font weight makes up just one component of the rendered font weight. # The rendered weight is determined by a combination of the `weight` and the # text style's resolved `bold` value, after accounting for inheritance: # * If the text is bold and the weight is less than `400`, the rendered # weight is 400. # * If the text is bold and the weight is greater than or equal to `400` but # is less than `700`, the rendered weight is `700`. # * If the weight is greater than or equal to `700`, the rendered weight is # equal to the weight. # * If the text is not bold, the rendered weight is equal to the weight. # Corresponds to the JSON property `weight` # @return [Fixnum] attr_accessor :weight def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @font_family = args[:font_family] if args.key?(:font_family) @weight = args[:weight] if args.key?(:weight) end end # Provides control over how write requests are executed. class WriteControl include Google::Apis::Core::Hashable # The revision ID of the # document that the write request will be applied to. If this is not the # latest revision of the document, the request will not be processed and # will return a 400 bad request error. # When a required revision ID is returned in a response, it indicates the # revision ID of the document after the request was applied. # Corresponds to the JSON property `requiredRevisionId` # @return [String] attr_accessor :required_revision_id # The target revision ID of the # document that the write request will be applied to. # If collaborator changes have occurred after the document was read using # the API, the changes produced by this write request will be transformed # against the collaborator changes. This results in a new revision of the # document which incorporates both the changes in the request and the # collaborator changes, and the Docs server will resolve conflicting # changes. When using `target_revision_id`, the API client can be thought # of as another collaborator of the document. # The target revision ID may only be used to write to recent versions of a # document. If the target revision is too far behind the latest revision, # the request will not be processed and will return a 400 bad request error # and the request should be retried after reading the latest version of the # document. In most cases a `revision_id` will remain valid for use as a # target revision for several minutes after it is read, but for # frequently-edited documents this window may be shorter. # Corresponds to the JSON property `targetRevisionId` # @return [String] attr_accessor :target_revision_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @required_revision_id = args[:required_revision_id] if args.key?(:required_revision_id) @target_revision_id = args[:target_revision_id] if args.key?(:target_revision_id) end end end end end