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

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/sheets_v4/classes.rb,
generated/google/apis/sheets_v4/representations.rb,
generated/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

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ OrgChartSpec

Returns a new instance of OrgChartSpec.



6603
6604
6605
# File 'generated/google/apis/sheets_v4/classes.rb', line 6603

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



6478
6479
6480
# File 'generated/google/apis/sheets_v4/classes.rb', line 6478

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, as well. Note: this proto does not 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. Note: when color equality needs to be decided, implementations, unless documented otherwise, will treat two colors to be 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



6527
6528
6529
# File 'generated/google/apis/sheets_v4/classes.rb', line 6527

def node_color
  @node_color
end

#node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property nodeColorStyle



6532
6533
6534
# File 'generated/google/apis/sheets_v4/classes.rb', line 6532

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)


6537
6538
6539
# File 'generated/google/apis/sheets_v4/classes.rb', line 6537

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



6542
6543
6544
# File 'generated/google/apis/sheets_v4/classes.rb', line 6542

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, as well. Note: this proto does not 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. Note: when color equality needs to be decided, implementations, unless documented otherwise, will treat two colors to be 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



6591
6592
6593
# File 'generated/google/apis/sheets_v4/classes.rb', line 6591

def selected_node_color
  @selected_node_color
end

#selected_node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property selectedNodeColorStyle



6596
6597
6598
# File 'generated/google/apis/sheets_v4/classes.rb', line 6596

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



6601
6602
6603
# File 'generated/google/apis/sheets_v4/classes.rb', line 6601

def tooltips
  @tooltips
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
# File 'generated/google/apis/sheets_v4/classes.rb', line 6608

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