Class: Google::Apis::SheetsV4::OrgChartSpec

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/sheets_v4/classes.rb,
lib/google/apis/sheets_v4/representations.rb,
lib/google/apis/sheets_v4/representations.rb

Overview

An org chart. Org charts require a unique set of labels in labels and may optionally include parent_labels and tooltips. parent_labels contain, for each node, the label identifying the parent node. tooltips contain, for each node, an optional tooltip. For example, to describe an OrgChart with Alice as the CEO, Bob as the President (reporting to Alice) and Cathy as VP of Sales (also reporting to Alice), have labels contain "Alice", "Bob", "Cathy", parent_labels contain "", "Alice", "Alice" and tooltips contain "CEO", " President", "VP Sales".

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ OrgChartSpec

Returns a new instance of OrgChartSpec.



6913
6914
6915
# File 'lib/google/apis/sheets_v4/classes.rb', line 6913

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#labelsGoogle::Apis::SheetsV4::ChartData

The data included in a domain or series. Corresponds to the JSON property labels



6788
6789
6790
# File 'lib/google/apis/sheets_v4/classes.rb', line 6788

def labels
  @labels
end

#node_colorGoogle::Apis::SheetsV4::Color

Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of java.awt.Color in Java; it can also be trivially provided to UIColor's +colorWithRed:green:blue:alpha method in iOS; and, with just a little work, it can be easily formatted into a CSS rgba() string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java. awt.Color fromProto(Color protocolor) float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor. getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); public static Color toProto(java.awt.Color color) float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() . setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) result. setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) . build()); return resultBuilder.build(); // ... Example (iOS / Obj-C): // .. . static UIColor* fromProto(Color* protocolor) float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) alpha = [alpha_wrapper value]; return [UIColor colorWithRed:red green: green blue:blue alpha:alpha]; static Color* toProto(UIColor* color) CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:& blue alpha:&alpha]) return nil; Color* result = [[Color alloc] init]; [ result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha < = 0.9999) [result setAlpha:floatWrapperWithValue(alpha)]; [result autorelease]; return result; // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) return rgbToCssColor(red, green, blue); var alphaFrac = rgb_color.alpha.value || 0. 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ', ', alphaFrac, ')'].join('');; var rgbToCssColor = function(red, green, blue) var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) resultBuilder. push('0'); resultBuilder.push(hexString); return resultBuilder.join('');; / / ... Corresponds to the JSON property nodeColor



6837
6838
6839
# File 'lib/google/apis/sheets_v4/classes.rb', line 6837

def node_color
  @node_color
end

#node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property nodeColorStyle



6842
6843
6844
# File 'lib/google/apis/sheets_v4/classes.rb', line 6842

def node_color_style
  @node_color_style
end

#node_sizeString

The size of the org chart nodes. Corresponds to the JSON property nodeSize

Returns:

  • (String)


6847
6848
6849
# File 'lib/google/apis/sheets_v4/classes.rb', line 6847

def node_size
  @node_size
end

#parent_labelsGoogle::Apis::SheetsV4::ChartData

The data included in a domain or series. Corresponds to the JSON property parentLabels



6852
6853
6854
# File 'lib/google/apis/sheets_v4/classes.rb', line 6852

def parent_labels
  @parent_labels
end

#selected_node_colorGoogle::Apis::SheetsV4::Color

Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of java.awt.Color in Java; it can also be trivially provided to UIColor's +colorWithRed:green:blue:alpha method in iOS; and, with just a little work, it can be easily formatted into a CSS rgba() string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java. awt.Color fromProto(Color protocolor) float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor. getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); public static Color toProto(java.awt.Color color) float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() . setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) result. setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) . build()); return resultBuilder.build(); // ... Example (iOS / Obj-C): // .. . static UIColor* fromProto(Color* protocolor) float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) alpha = [alpha_wrapper value]; return [UIColor colorWithRed:red green: green blue:blue alpha:alpha]; static Color* toProto(UIColor* color) CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:& blue alpha:&alpha]) return nil; Color* result = [[Color alloc] init]; [ result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha < = 0.9999) [result setAlpha:floatWrapperWithValue(alpha)]; [result autorelease]; return result; // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) return rgbToCssColor(red, green, blue); var alphaFrac = rgb_color.alpha.value || 0. 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ', ', alphaFrac, ')'].join('');; var rgbToCssColor = function(red, green, blue) var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) resultBuilder. push('0'); resultBuilder.push(hexString); return resultBuilder.join('');; / / ... Corresponds to the JSON property selectedNodeColor



6901
6902
6903
# File 'lib/google/apis/sheets_v4/classes.rb', line 6901

def selected_node_color
  @selected_node_color
end

#selected_node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property selectedNodeColorStyle



6906
6907
6908
# File 'lib/google/apis/sheets_v4/classes.rb', line 6906

def selected_node_color_style
  @selected_node_color_style
end

#tooltipsGoogle::Apis::SheetsV4::ChartData

The data included in a domain or series. Corresponds to the JSON property tooltips



6911
6912
6913
# File 'lib/google/apis/sheets_v4/classes.rb', line 6911

def tooltips
  @tooltips
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
# File 'lib/google/apis/sheets_v4/classes.rb', line 6918

def update!(**args)
  @labels = args[:labels] if args.key?(:labels)
  @node_color = args[:node_color] if args.key?(:node_color)
  @node_color_style = args[:node_color_style] if args.key?(:node_color_style)
  @node_size = args[:node_size] if args.key?(:node_size)
  @parent_labels = args[:parent_labels] if args.key?(:parent_labels)
  @selected_node_color = args[:selected_node_color] if args.key?(:selected_node_color)
  @selected_node_color_style = args[:selected_node_color_style] if args.key?(:selected_node_color_style)
  @tooltips = args[:tooltips] if args.key?(:tooltips)
end