Class: Xsdvi::SVG::Symbols::Key
- Inherits:
-
Xsdvi::SVG::Symbol
- Object
- Tree::Element
- Xsdvi::SVG::Symbol
- Xsdvi::SVG::Symbols::Key
- Defined in:
- lib/xsdvi/svg/symbols/key.rb
Overview
Symbol for XSD key identity constraint
Constant Summary
Constants inherited from Xsdvi::SVG::Symbol
Xsdvi::SVG::Symbol::MAX_HEIGHT, Xsdvi::SVG::Symbol::MID_HEIGHT, Xsdvi::SVG::Symbol::MIN_HEIGHT, Xsdvi::SVG::Symbol::MIN_WIDTH, Xsdvi::SVG::Symbol::PC_LAX, Xsdvi::SVG::Symbol::PC_SKIP, Xsdvi::SVG::Symbol::PC_STRICT, Xsdvi::SVG::Symbol::X_INDENT, Xsdvi::SVG::Symbol::Y_INDENT
Instance Attribute Summary collapse
-
#name ⇒ Object
Returns the value of attribute name.
-
#namespace ⇒ Object
Returns the value of attribute namespace.
Attributes inherited from Xsdvi::SVG::Symbol
#additional_height, #description, #description_string_array, #height, #start_y_position, #svg, #width, #x_position, #y_position, #y_shift
Attributes inherited from Tree::Element
Instance Method Summary collapse
- #calculate_height ⇒ Object
- #calculate_width ⇒ Object
- #draw ⇒ Object
-
#initialize ⇒ Key
constructor
A new instance of Key.
Methods inherited from Xsdvi::SVG::Symbol
#prepare_box, reset_class_variables, #x_end, #y_end
Methods inherited from Tree::Element
#add_child, #children?, #code, #first_child?, #index, #last_child, #last_child?, #parent?
Constructor Details
#initialize ⇒ Key
Returns a new instance of Key.
12 13 14 15 16 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 12 def initialize super @name = nil @namespace = nil end |
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
10 11 12 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 10 def name @name end |
#namespace ⇒ Object
Returns the value of attribute namespace.
10 11 12 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 10 def namespace @namespace end |
Instance Method Details
#calculate_height ⇒ Object
40 41 42 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 40 def calculate_height MID_HEIGHT end |
#calculate_width ⇒ Object
33 34 35 36 37 38 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 33 def calculate_width calc = Utils::WidthCalculator.new(MIN_WIDTH) calc.new_width(15, name, 5) calc.new_width(15, namespace) calc.width end |
#draw ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/xsdvi/svg/symbols/key.rb', line 18 def draw process_description draw_g_start print("<rect class='shadow' x='3' y='3' width='#{width}' " \ "height='#{height}' rx='9'/>") print("<rect class='boxkey' x='0' y='0' width='#{width}' " \ "height='#{height}' rx='9'/>") print("<text class='visible' x='5' y='13'>#{namespace}</text>") if namespace print("<text class='strong' x='5' y='27'>key: #{name}</text>") if name draw_description(27) draw_connection draw_use draw_g_end end |