end
# add the new control to the various lookups
end
# add the new control to the various lookups
+ if @controls_by_id.has_key?( row.id ) && control.group.class != Strip
+ duplicated = @controls_by_id[row.id]
+ puts "duplicate id #{control.id}:#{control.name} of #{duplicated.id}:#{duplicated.name}"
+ end
+
@controls_by_id[row.id] = control
@controls << control
group << control
@controls_by_id[row.id] = control
@controls << control
group << control
+this_dir = File.dirname(__FILE__)
+
-require File.dirname(__FILE__) + '/controls.rb'
+require this_dir + '/controls.rb'
-File.open( File.dirname(__FILE__) + "/surface-cc-template.erb", "r" ) { |f| cc_template = f.read }
+File.open( this_dir + "/surface-cc-template.erb", "r" ) { |f| cc_template = f.read }
-File.open( File.dirname(__FILE__) + "/surface-h-template.erb", "r" ) { |f| h_template = f.read }
+File.open( this_dir + "/surface-h-template.erb", "r" ) { |f| h_template = f.read }
sf = Surface.new( ARGV[0] )
control_data = ''
sf = Surface.new( ARGV[0] )
control_data = ''
-File.open( File.dirname(__FILE__) + "/#{sf.name.downcase}-controls.csv", "r") { |f| control_data = f.read }
+File.open( this_dir + "/#{sf.name.downcase}-controls.csv", "r") { |f| control_data = f.read }
sf.parse control_data
@result = ""
sf.parse control_data
@result = ""
require 'pp'
sf = Surface.new
require 'pp'
sf = Surface.new
sf.types.each{|k,v| puts "%02.x #{v}" % k}
sf.types.each{|k,v| puts "%02.x #{v}" % k}