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

Constructor Details

#initialize(**args) ⇒ OrgChartSpec

Returns a new instance of OrgChartSpec.



6892
6893
6894
# File 'generated/google/apis/sheets_v4/classes.rb', line 6892

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



6767
6768
6769
# File 'generated/google/apis/sheets_v4/classes.rb', line 6767

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



6816
6817
6818
# File 'generated/google/apis/sheets_v4/classes.rb', line 6816

def node_color
  @node_color
end

#node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property nodeColorStyle



6821
6822
6823
# File 'generated/google/apis/sheets_v4/classes.rb', line 6821

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)


6826
6827
6828
# File 'generated/google/apis/sheets_v4/classes.rb', line 6826

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



6831
6832
6833
# File 'generated/google/apis/sheets_v4/classes.rb', line 6831

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



6880
6881
6882
# File 'generated/google/apis/sheets_v4/classes.rb', line 6880

def selected_node_color
  @selected_node_color
end

#selected_node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property selectedNodeColorStyle



6885
6886
6887
# File 'generated/google/apis/sheets_v4/classes.rb', line 6885

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



6890
6891
6892
# File 'generated/google/apis/sheets_v4/classes.rb', line 6890

def tooltips
  @tooltips
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
# File 'generated/google/apis/sheets_v4/classes.rb', line 6897

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