Source

lqpl / GUI / src / panels / quantum_stack / descriptor / classical_descriptor_model.rb

class ClassicalDescriptorModel< AbstractDescriptorModel
  include XmlDecode
  PATTERN=Regexp.new /^<ClassicalStack>(((<cint>(-?\d+)<\/cint>)|(<cbool>(True|False)<\/cbool>))*)<\/ClassicalStack>$/

  LIST_PATTERN = Regexp.new /^(<cint>(-?\d+)<\/cint>)|(<cbool>(True|False)<\/cbool>)/

  def initialize(in_string)
    @value = check_and_return_value(PATTERN,in_string,
      lambda { |m| ClassicalDescriptorModel::parse_list m})
  end

  def self.parse_list(sub_string)
    r = values_to_list sub_string, LIST_PATTERN do |ret, md|
      ret << md[2].to_i if md[2]
      ret << (md[4] == 'True') if md[4]
    end
    raise ModelCreateError, sub_string if sub_string and sub_string.length > 0 and r.length == 0
    r
  end

  def length
    @value.length
  end

  def substack_labels
    @value.collect {|v| "#{v}"}
  end

end
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.