module Microstation::ModelTrait
Public Instance Methods
activate()
click to toggle source
# File lib/microstation/model_trait.rb, line 69 def activate ole_obj.Activate end
active?()
click to toggle source
# File lib/microstation/model_trait.rb, line 22 def active? ole_obj.IsActive end
add_element(el)
click to toggle source
# File lib/microstation/model_trait.rb, line 82 def add_element(el) if el.respond_to? :ole_obj el = el.ole_obj ole_obj.AddElement(el) self end end
change_text_suffix(reg,offset)
click to toggle source
# File lib/microstation/model_trait.rb, line 49 def change_text_suffix(reg,offset) get_matching_text(reg) do |t,md| pre = md[1] suff = Integer( md[2] ) + offset t.replace "#{pre}#{suff}" end end
find_by_id(id)
click to toggle source
# File lib/microstation/model_trait.rb, line 16 def find_by_id(id) ele = ole_obj.GetElementById64(id) rescue nil return nil unless ele app.ole_to_ruby(ele) end
get_matching_text(re) { |t,md| ... }
click to toggle source
# File lib/microstation/model_trait.rb, line 34 def get_matching_text(re) result = [] get_selected_text.each do |t| md = re.match( t) if md if block_given? yield t,md else result << t end end result end end
get_selected_elements()
click to toggle source
# File lib/microstation/model_trait.rb, line 26 def get_selected_elements Enumerator.new(ole_obj.GetSelectedElements,app) end
get_selected_text()
click to toggle source
# File lib/microstation/model_trait.rb, line 30 def get_selected_text get_selected_elements.select{|t| t.textual?} end
locked?()
click to toggle source
# File lib/microstation/model_trait.rb, line 73 def locked? ole_obj.IsLocked? end
name()
click to toggle source
include TS::TagSetTrait
# File lib/microstation/model_trait.rb, line 12 def name ole_obj.name end
readonly?()
click to toggle source
# File lib/microstation/model_trait.rb, line 65 def readonly? ole_obj.IsReadOnly end
scan_model(criteria=nil) { |item| ... }
click to toggle source
Scan
the model with @param [Scan::Criteria] criteria - the criteria to scan @yield the item
# File lib/microstation/model_trait.rb, line 157 def scan_model(criteria=nil) # binding.pry criteria = criteria || create_scanner(:nullscanner) scan_result = ole_run_scan(criteria) return [] unless scan_result # binding.pry scan_enum = ::Microstation::Enumerator.new(scan_result, app) result = [] if block_given? scan_enum.each do |item| yield item end else scan_enum.each do |item| result << item end end return result unless block_given? end
select_element(el)
click to toggle source
# File lib/microstation/model_trait.rb, line 61 def select_element(el) ole_obj.SelectElement(el.ole_obj) end
to_s()
click to toggle source
# File lib/microstation/model_trait.rb, line 77 def to_s "Microstation::Model-#{name}" end
unselect_element(el)
click to toggle source
# File lib/microstation/model_trait.rb, line 57 def unselect_element(el) ole_obj.UnselectElement(el.ole_obj) end
Private Instance Methods
ole_run_scan(criteria)
click to toggle source
# File lib/microstation/model_trait.rb, line 181 def ole_run_scan(criteria) criteria.resolve scan_result = self.ole_obj.Scan(criteria.ole_obj) rescue nil end