add new sigc++2 directory
[ardour.git] / libs / surfaces / mackie / scripts / transform.rb
1 class ElementHandler
2
3         def apply( anElement )
4                 anElement.each {|e| handle(e)} if anElement
5         end
6
7         def handle( aNode )
8                 if aNode.kind_of? REXML::Text
9                         handleTextNode(aNode) 
10                 elsif aNode.kind_of? REXML::Element
11                         handle_element aNode  
12                 else
13                         return #ignore comments and processing instructions
14                 end
15         end
16   
17         def handle_element( anElement )
18                 handler_method = "handle_" + anElement.name.tr("-","_")
19                 if self.respond_to? handler_method
20                         self.send(handler_method, anElement)
21                 else
22                         default_handler(anElement)  
23                 end
24         end
25
26 end