The following lines which are part of /online_dir/TkIrc.pl create a widget to operate analyzer at P09.
$Spc::res_h{ blsc} = "analyzer"; # # analyzer # $Spc::res_h{ analyzer_title} = { text => "Analyzer"}; $Spc::res_h{ analyzer_help} = sub { Util::display_text( "Help Analyzer", ' n.n. ' )}; $Spc::res_h{ analyzer_io1} = { label => { name => "Dhkl", unit => "u", get => sub { sprintf( "%g", Spectra::tng_attrDoubleRd( "analyzer", "Dhkl"));}}, entry => { set => sub { Spectra::tng_attrDoubleWrt( "analyzer", "Dhkl", $_[0]);}}}; $Spc::res_h{ analyzer_io2} = { label => { name => "ThanaOffset", unit => "u", get => sub { sprintf( "%g", Spectra::tng_attrDoubleRd( "analyzer", "ThanaOffset"));}}, entry => { set => sub { Spectra::tng_attrDoubleWrt( "analyzer", "ThanaOffset", $_[0]);}}}; $Spc::res_h{ analyzer_io3} = { label => { name => "UnitLimitMin", unit => "u", get => sub { sprintf( "%g", Spectra::tng_attrDoubleRd( "analyzer", "UnitLimitMin"));}}, entry => { set => sub { Spectra::tng_attrDoubleWrt( "analyzer", "UnitLimitMin", $_[0]);}}}; $Spc::res_h{ analyzer_io4} = { label => { name => "UnitLimitMax", unit => "u", get => sub { sprintf( "%g", Spectra::tng_attrDoubleRd( "analyzer", "UnitLimitMax"));}}, entry => { set => sub { Spectra::tng_attrDoubleWrt( "analyzer", "UnitLimitMax", $_[0]);}}};