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.



7038
7039
7040
# File 'lib/google/apis/sheets_v4/classes.rb', line 7038

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



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

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 and 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 have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. 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



6962
6963
6964
# File 'lib/google/apis/sheets_v4/classes.rb', line 6962

def node_color
  @node_color
end

#node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property nodeColorStyle



6967
6968
6969
# File 'lib/google/apis/sheets_v4/classes.rb', line 6967

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)


6972
6973
6974
# File 'lib/google/apis/sheets_v4/classes.rb', line 6972

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



6977
6978
6979
# File 'lib/google/apis/sheets_v4/classes.rb', line 6977

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 and 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 have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. 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



7026
7027
7028
# File 'lib/google/apis/sheets_v4/classes.rb', line 7026

def selected_node_color
  @selected_node_color
end

#selected_node_color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property selectedNodeColorStyle



7031
7032
7033
# File 'lib/google/apis/sheets_v4/classes.rb', line 7031

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



7036
7037
7038
# File 'lib/google/apis/sheets_v4/classes.rb', line 7036

def tooltips
  @tooltips
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
# File 'lib/google/apis/sheets_v4/classes.rb', line 7043

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