Directories from CVS inspected and partially moved to git:
tools
+control
Directories to check:
-control
cts
evtbuild
hub
--- /dev/null
+package Buttons2;
+
+use strict;
+use warnings;
+
+use QtCore4 ;
+use QtGui4;
+
+use Data::Dumper;
+use QtCore4::debug qw(ambiguous);
+
+
+#use Qt::isa qw(Qt::Widget);
+#use QtCore4::isa qw(Qt::Widget);
+#use QtCore4;
+
+use QtCore4::isa qw( Qt::Widget );
+
+use QtCore4::slots
+ hide_expert_checked => ['int'];
+
+
+sub groupBox_3 {
+ return shift->{groupBox_3};
+}
+
+sub hide_expert_checked {
+ my ( $state) = @_;
+
+ if($state == Qt::Unchecked()) {
+ this->{self}->{groupBox_4}->hide();
+ }
+ else {
+ this->{self}->{groupBox_4}->show();
+ }
+}
+
+
+use Data::Dumper;
+
+
+
+# # make slots
+my $str;
+$str = "use QtCore4::slots\n slotQuitPressed => [], ";
+foreach my $i (0..150) {
+ $str .= " slot". $i . "Pressed => [], ";
+}
+$str .= "slotdummyPressed => [];";
+
+#print "will eval command: $str\n";
+eval $str;
+#print "error: $@\n";
+
+
+# }
+
+
+
+sub NEW {
+ my ( $class, $mainWindow ) = @_;
+ $class->SUPER::NEW($mainWindow);
+
+ my $self = bless {}, $class;
+
+ this->{self} = $self;
+
+ $self->{ra_buttons} = [];
+
+ #print "self: "; print Dumper $self;
+ #print "this: "; print Dumper this;
+
+ #my $self = $mainWindow;
+ if ( !defined $mainWindow->objectName() ) {
+ $mainWindow->setObjectName( "mainWindow" );
+ }
+ #$mainWindow->resize( 800, 600 );
+ #$mainWindow->resize( 400, 300 );
+
+ #$self->{hide_expert_checked} = hide_expert_checked;
+
+ my $centralwidget = Qt::Widget( $mainWindow );
+ $self->{centralwidget} = $centralwidget;
+ $centralwidget->setObjectName( "centralwidget" );
+
+ my $vl_mw = Qt::VBoxLayout( $centralwidget );
+
+# my $layoutWidget = Qt::Widget( $centralwidget );
+# $self->{layoutWidget} = $layoutWidget;
+# $layoutWidget->setObjectName( "layoutWidget" );
+ #$layoutWidget->setGeometry( Qt::Rect(30, 110, 723, 418) );
+# my $horizontalLayout = Qt::HBoxLayout( $centralwidget );
+ my $horizontalLayout = Qt::HBoxLayout( );
+ $self->{horizontalLayout} = $horizontalLayout;
+ $horizontalLayout->setObjectName( "horizontalLayout" );
+ $horizontalLayout->setContentsMargins(0, 0, 0, 0 );
+
+ #$horizontalLayout->addStretch(1);
+
+ my $groupBox_1 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_1} = $groupBox_1;
+ $groupBox_1->setObjectName( "groupBox_1" );
+ my $vl_gb1 = Qt::VBoxLayout( $groupBox_1 );
+ $self->{vl_gb1} = $vl_gb1;
+ $vl_gb1->setObjectName( "vl_gb1" );
+
+
+
+ $horizontalLayout->addWidget( $groupBox_1 );
+
+
+ my $groupBox_2 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_2} = $groupBox_2;
+ $groupBox_2->setObjectName( "groupBox_2" );
+ my $vl_gb2 = Qt::VBoxLayout( $groupBox_2 );
+ $self->{vl_gb2} = $vl_gb2;
+ $vl_gb2->setObjectName( "vl_gb2" );
+
+ $horizontalLayout->addWidget( $groupBox_2 );
+
+ my $groupBox_3 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_3} = $groupBox_3;
+ $groupBox_3->setObjectName( "groupBox_3" );
+ my $vl_gb3 = Qt::VBoxLayout( $groupBox_3 );
+ $self->{vl_gb3} = $vl_gb3;
+ $vl_gb3->setObjectName( "vl_gb3" );
+
+ $horizontalLayout->addWidget( $groupBox_3 );
+
+
+
+ my $groupBox_4 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_4} = $groupBox_4;
+ $groupBox_4->setObjectName( "groupBox_4" );
+
+ #$groupBox_3->setCheckable(1);
+ #$groupBox_3->setChecked(0);
+ $groupBox_4->hide();
+
+
+ my $vl_gb4 = Qt::VBoxLayout( $groupBox_4 );
+ $self->{vl_gb4} = $vl_gb4;
+ $vl_gb4->setObjectName( "vl_gb4" );
+
+ $horizontalLayout->addWidget( $groupBox_4 );
+
+
+
+ my $vl_top = Qt::VBoxLayout( );
+ $self->{vl_top} = $vl_top;
+ $vl_top->setObjectName( "vl_top" );
+ $vl_top->setContentsMargins(0, 0, 0, 0 );
+
+ $vl_mw->addLayout($vl_top);
+ $vl_mw->addLayout($horizontalLayout);
+
+
+# my $pushButton = Qt::PushButton( $centralwidget );
+# $self->{pushButton} = $pushButton;
+# $pushButton->setObjectName( "pushButton" );
+
+# my $sizePolicy = Qt::SizePolicy( Qt::SizePolicy::Minimum(), Qt::SizePolicy::Fixed() );
+# $self->{$sizePolicy} = $sizePolicy;
+# $sizePolicy->setHorizontalStretch( 0 );
+# $sizePolicy->setVerticalStretch( 0 );
+# $sizePolicy->setHeightForWidth( $pushButton->sizePolicy()->hasHeightForWidth() );
+# $pushButton->setSizePolicy( $sizePolicy );
+# $pushButton->setMinimumSize( Qt::Size(0, 0) );
+# my $icon = Qt::Icon;
+# $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+# $icon->addPixmap(Qt::Pixmap("close_window.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+ #$icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-system-login.png"), Qt::Icon::Normal(), Qt::Icon::On() );
+# $pushButton->setIcon( $icon );
+# $pushButton->setIconSize( Qt::Size(50, 50) );
+
+# $vl_top->addWidget( $pushButton );
+
+ my $checkBox = Qt::CheckBox( $centralwidget );
+ $self->{checkBox} = $checkBox;
+ $checkBox->setObjectName( "checkBox" );
+
+ $vl_top->addWidget( $checkBox );
+
+ $mainWindow->setCentralWidget( $centralwidget );
+ my $menubar = Qt::MenuBar( $mainWindow );
+ $self->{menubar} = $menubar;
+ $menubar->setObjectName( "menubar" );
+ #$menubar->setGeometry( Qt::Rect(0, 0, 800, 25) );
+ $mainWindow->setMenuBar( $menubar );
+ my $statusbar = Qt::StatusBar( $mainWindow );
+ $self->{statusbar} = $statusbar;
+ $statusbar->setObjectName( "statusbar" );
+ $mainWindow->setStatusBar( $statusbar );
+
+ $self->retranslateUi( $mainWindow );
+
+
+ my $cur_button_number = 0;
+
+ my $dir;
+ my $buttons = [];
+
+
+ $dir = "daq";
+ make_buttons($self, $dir, \$cur_button_number, $groupBox_1, $vl_gb1);
+ #print "cur_button: $cur_button_number\n";
+
+ $dir = "monitor";
+ make_buttons($self, $dir, \$cur_button_number, $groupBox_2, $vl_gb2);
+ #print "cur_button: $cur_button_number\n";
+
+ $dir = "eb";
+ make_buttons($self, $dir, \$cur_button_number, $groupBox_3, $vl_gb3);
+
+
+ $dir = "expert";
+ make_buttons($self, $dir, \$cur_button_number, $groupBox_4, $vl_gb4);
+ #print "cur_button: $cur_button_number\n";
+
+ #$layoutWidget->updateGeometry();
+
+
+# Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+
+
+ Qt::Object::connect($checkBox, SIGNAL 'stateChanged(int)' ,
+ this, SLOT 'hide_expert_checked(int)' );
+
+ Qt::MetaObject::connectSlotsByName( $mainWindow );
+
+ return $self;
+
+}
+
+
+sub retranslateUi {
+ my ( $self, $mainWindow ) = @_;
+ $mainWindow->setWindowTitle( Qt::Application::translate( 'MainWindow', "DAQ-Control", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_1}->setTitle( Qt::Application::translate( 'MainWindow', "DAQ-Operator", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_2}->setTitle( Qt::Application::translate( 'MainWindow', "Monitor Tools", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_3}->setTitle( Qt::Application::translate( 'MainWindow', "Eventbuilder Tools", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_4}->setTitle( Qt::Application::translate( 'MainWindow', "Expert Tools", undef, Qt::Application::UnicodeUTF8() ) );
+# $self->{pushButton}->setText( Qt::Application::translate( 'MainWindow', "Quit DAQ-Control", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{checkBox}->setText( Qt::Application::translate( 'MainWindow', "Show Expert Tools", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+} # retranslateUi
+
+
+
+
+sub make_buttons {
+ (my $self, my $dir, my $r_current_button_number, my $bgrp, my $layout) = @_;
+
+ #print $bgrp;
+ #print "current number_; $r_current_button_number\n";
+
+ my $c = qq"find $dir -maxdepth 1 -type f| sort";
+ my @f = qx($c);
+
+ my $i = $$r_current_button_number;
+
+ my $button_list=[];
+
+ foreach (@f) {
+ next if /.png$/i;
+ chomp;
+ s/.*\///;
+ next if /\~$/;
+ push @$button_list, $_;
+ my $br = $self->{ra_buttons};
+ push @{$br}, $_;
+ }
+
+
+
+
+ foreach my $cur_button_name (@$button_list) {
+
+
+ next if ($cur_button_name =~ /.png$/);
+# my $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+ my $icon_path = "$dir/$cur_button_name" . ".png";
+# print "path: $icon_path_file \n";
+# my $fh_icon;
+# my $res = open($fh_icon, "<", $icon_path_file);
+# my @file = <$fh_icon>;
+# $fh_icon->close();
+
+ #/usr/share/icons/hicolor/48x48/apps/
+# my ($icon_name) = grep /Icon=/, @file;
+# $icon_name =~ s/Icon=//;
+# my $icon_path = "/usr/share/icons/hicolor/48x48/apps/$icon_name";
+# print "got icon path: $icon_path \n";
+
+
+ my $name = $cur_button_name;
+ $name =~ s/^\d+_//;
+ $name =~ s/_/ /g;
+
+
+ my $com = qq|
+my \$pb$i = Qt::PushButton("$cur_button_name", \$bgrp);
+\$self->{pb$i} = \$pb$i;
+\$layout->addWidget( \$pb$i );
+\$pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef,
+ Qt::Application::UnicodeUTF8() ) );
+
+my \$icon$i = Qt::Icon;
+\$icon$i->addPixmap(Qt::Pixmap(\"$icon_path\"), Qt::Icon::Normal(), Qt::Icon::Off() );
+
+\$pb$i->setIcon( \$icon$i );
+\$pb$i->setIconSize( Qt::Size(50, 50) );
+
+|;
+
+
+# my $pb_$i = Qt::PushButton("$_", \$bgrp);
+# $self->{pb$i} = $pb_$i;
+# $layout->addWidget( $pb_$i );
+# $pushButton->setIcon( $icon );
+# $pushButton->setIconSize( Qt::Size(50, 50) );
+# $pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+#/usr/share/icons/hicolor/48x48/apps/yast-bootloader.png
+
+ # print "command1: $com\n";
+
+ #print "command: $com\n";
+ eval $com;
+ print "$@\n" if ($@);
+
+
+#my $iconstr = "$icon" . "$i";
+
+$com = qq |
+|;
+
+
+
+ #Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+ $com = qq|Qt::Object::connect(\$self->{pb$i}, SIGNAL 'clicked()', this, SLOT 'slot| . $i . qq|Pressed()');|;
+ #print "command2: $com\n";
+ eval $com;
+ print "error: " , $@ , "\n" if ($@);
+
+ make_subroutine($i, $dir);
+
+ $i++;
+ #last if $i >=10;
+ }
+
+ $$r_current_button_number = $i;
+}
+
+
+sub make_subroutine {
+ (my $i, my $dir) = @_;
+ # make subroutines
+ #sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+ my $str = qq|sub slot| . $i . qq|Pressed { my \$c = this->{self}->{ra_buttons}->[$i]; \$c = "cd $dir; ./\$c &"; print "will execute: \$c\n"; system(\$c); }|;
+# my $str = qq|sub slot| . $i . qq|Pressed { print "$i pressed\n"; }|;
+#system(\$c); }|;
+ #print "sub: $str\n";
+ eval $str;
+}
+
+
+# sub slotQuitPressed {
+# exit;
+# }
+
+#sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+
+1;
--- /dev/null
+#!/usr/bin/perl -w
+
+package main;
+
+use warnings;
+use strict;
+use QtCore4;
+use QtGui4;
+use Buttons2;
+
+sub main {
+
+ my $a = Qt::Application(\@ARGV);
+ my $w = Qt::MainWindow;
+ my $u = Buttons2($w);
+ $w->show();
+ exit $a->exec();
+}
+
+
+main();
+
--- /dev/null
+#!/bin/bash
+cd /home/hadaq/trbsoft/daq/control/gui/
+/home/hadaq/trbsoft/daq/control/gui/call_programs2.pl -geometry -0-0 &
+
+#cd /home/hadaq/trbsoft/daq/control/gui/
+#/home/hadaq/trbsoft/daq/control/gui/call_programs.pl -geometry -0-0
--- /dev/null
+ssh -X hadesdaq02 "cd /home/hadaq/trbsoft/daq/control/gui/
+/home/hadaq/trbsoft/daq/control/gui/call_programs2.pl -geometry -0-0" &
+
+#cd /home/hadaq/trbsoft/daq/control/gui/
+#/home/hadaq/trbsoft/daq/control/gui/call_programs.pl -geometry -0-0
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to restart the DAQ")
+if [ $myvar == "256" ]; then exit; fi
+
+#notifyall.sh "DAQ" "<I> DAQ is going to be restarted." "STARTUP" &
+
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@lxhadesdaq "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to lxhadesdaq...\"
+ echo \" <Startup> Starting DAQ with default settings...\"
+ cd /home/hadaq/trbsoft/daq/main/
+ time bash ./startup_briccolage.sh
+ sleep 10
+"
+'
+
+#notifyall.sh "DAQ" "<I> DAQ has been started." "STARTUP" &
+
--- /dev/null
+#!/usr/bin/perl
+use warnings;
+use HADES::TrbNet;
+$ENV{'DAQOPSERVER'} = "hades31";
+trb_init_ports() or die "could not reach trbnet-daemon.", trb_strerror();
+my $rh = trb_register_read(0x0003, 0xa0c0) or print trb_strerror() and die;
+
+if($rh->{3} & 0x400) {
+ system("trbcmd clearbit 0x0003 0xa0c0 0x400");
+ }
+else {
+ system("trbcmd setbit 0x0003 0xa0c0 0x400");
+ }
+
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to reprogramm the FPGAs")
+
+if [ $myvar == "256" ]; then exit; fi
+
+killall logerrors.pl
+
+notifyall.sh "DAQ" "<I> FPGA are being reprogrammed." "STARTUP" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ cd ~/trbsoft/daq/main/
+ ./startup.pl -f main_hades.script -o file -m TOF -m RPC -m WALL -m RICH -m SHOWER -m STARTCTS -m MDC -m MDCDATASET --eb off
+ echo "First config run"
+ bash startup_briccolage.sh
+ '
+"
+notifyall.sh "DAQ" "<I> FPGA have been programmed and DAQ is started." "STARTUP" &
+
--- /dev/null
+#!/bin/bash
+ssh -X hadaq@lxhadesdaq "
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+~/bin/rebootoep_x11.sh
+'
+"
+
+notifyall.sh "DAQ" "<I> OEPs rebooted" "MDC"&
+
--- /dev/null
+#!/bin/bash
+# ssh -X hadaq@lxhadesdaq "
+# xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+# echo ping
+# /home/hadaq/bin/command_client.pl -e etraxp023 -c '
+
+export myvar=$(doyoureallywant.pl "to reboot the MDC-Hubs")
+if [ $myvar == "256" ]; then exit; fi
+
+trbcmd reset
+rebootfpga.sh 0xfe11
+sleep 10;
+#daqop set flash 1 oep; daqop reboot oep
+# '
+# "
+notifyall.sh "DAQ" "<I> MDC-Hubs rebooted" "MDC"&
+
--- /dev/null
+#!/bin/bash
+ssh -X hadaq@lxhadesdaq "
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+reviveoep.pl
+ '
+ "
+
--- /dev/null
+#!/bin/bash
+notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Restarting Eventbuilder 1 - 16"
+ stoptrigger.sh
+ cd ~/trbsoft/daq/evtbuild/
+ sleep 5 && starttrigger.sh &
+ ./start_eb_gbe.sh
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been restarted with last prefix" "EB" &
+
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being stopped." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Stopping Eventbuilder 1 - 16"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e stop -n 1-16
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been stopped" "EB" &
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with file prefix be"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p be
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing beam files." "EB" &
+
+
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16, writing NO FILES"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d off -p '--'
+ '
+"
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. NO FILES are being written" "EB" &
+
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with prefix te"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p te
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing test files" "EB" &
+
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with prefix co"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p co
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing Cosmics Files" "EB" &
+
--- /dev/null
+#!/bin/bash
+
+# notifyall.sh "DAQ" "<I> Eventbuilders are being restarted." "EB" &
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with prefix ri"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p ri
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing RICH Files" "EB" &
+
--- /dev/null
+#!/bin/bash
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with prefix st"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p st
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing START Files" "EB"&
+
--- /dev/null
+#!/bin/bash
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder 1 - 16 with prefix md"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -e restart -n 1-16 -d on -p md
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders have been started. Writing MDC Files" "EB"&
+
--- /dev/null
+#!/bin/bash
+export myvar=$(doyoureallywant.pl "to RAMP DOWN High Voltage!")
+if [ $myvar == "256" ]; then exit; fi
+
+cd /home/hadaq/trbsoft/daq/control/mdcHVgui/
+/home/hadaq/trbsoft/daq/control/mdcHVgui/call_programs2.pl
+
--- /dev/null
+#rdesktop hadvm04.gsi.de -g 1500x950 -k de -uscs -phadesctrl
+rdesktop hadvm01.gsi.de -g 1500x950 -k de -uorcad -p6\$ectors
+
--- /dev/null
+#!/bin/bash
+export myvar=$(doyoureallywant.pl "to make a MDC powercycle? There will be no further warnings!")
+if [ $myvar == "256" ]; then exit; fi
+
+cd /home/hadaq/trbsoft/daq/control/mdcLVgui/
+/home/hadaq/trbsoft/daq/control/mdcLVgui/call_programs2.pl
+
--- /dev/null
+#!/bin/bash
+xterm -e 'echo "Enabling the MDC-LV-Relais. Wait 4 Seconds..."; sleep 4' &
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 0'"
+sleep 2
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 0'"
+sleep 2
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 0'"
+
+xterm -e 'echo "Now you should have 157 A and 151 A
+on the +3V and -3V rails of the MDC LV (EPICS LV, crates.adl).
+Just close this window when you read and understood the message."; sleep 200'
--- /dev/null
+#!/bin/bash
+export myvar=$(doyoureallywant.pl "to make a RICH powercycle?")
+if [ $myvar == "256" ]; then exit; fi
+
+export DAQOPSERVER=hadesp31
+trbcmd w 0xfffb 0x20 0x8000
+
--- /dev/null
+#!/bin/bash
+xterm -e "
+export myvar=$(doyoureallywant.pl 'to do a power cycle on Wall')
+if [ $myvar == '256' ]; then exit; fi
+
+echo 'Sending power cycle request'
+wget -O /dev/null --http-password kaese --http-user admin -d http://haepcp15/RESET.CGI?a=0\&bi=5\&t=0\&b=1
+sleep 5
+echo 'waiting a minute until boards are rebooted'
+sleep 60
+echo 'Done'
+sleep 5
+"
--- /dev/null
+#!/bin/bash
+export myvar=$(doyoureallywant.pl "to make a RICH powercycle?")
+if [ $myvar == "256" ]; then exit; fi
+
+export DAQOPSERVER=hadesp31
+trbcmd w 0xfffb 0x20 0x8000
+
--- /dev/null
+#!/bin/bash
+
+
+
+ssh -X lxhadesdaq "
+xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo Reloading RPC thresholds
+ cd /home/hadaq/rpc/utilities/
+ ./setTriggerBoardSX.sh
+ ./setThresholdsAll.sh
+ sleep 5
+'
+"
+notifyall.sh "DAQ" "<I> RPC-Thresholds have been reloaded." "RPC" &
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+ssh -X hadaq@lxhadesdaq "
+ xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ echo "Starting Eventbuilder Control Interface"
+ cd ~/trbsoft/daq/evtbuild/
+ ./start_eb_gbe.pl -i start -n 1-16
+ '
+ "
+notifyall.sh "DAQ" "<I> Eventbuilders IOC have been started." "EB" &
+
+
--- /dev/null
+#!/bin/bash
+
+xterm -geometry 80x24 -bg orange -fg black -e bash -c '
+ ssh -X hadaq@hadesp33 "
+ echo Re-starting Hmon
+ cd ~/trbsoft/daq/tools/hmon/
+ ./stopall.sh
+ ./start.sh 1>/dev/null 2>/dev/null
+ echo "Hmon has been restartet"
+ sleep 5
+ "
+ '
+
+
+
--- /dev/null
+#!/bin/bash
+ssh hadaq@hades33 "killall -USR2 speakdaemon.pl"
+
+
+
--- /dev/null
+#!/bin/bash
+#ssh hadaq@hades33 "killall -USR1 speakdaemon.pl"
+
+ssh hadaq@hades33 "killall -USR1 speakdaemon.pl; pkill -f espeak"
+
+
--- /dev/null
+#!/bin/bash
+xterm -e "
+export myvar=$(doyoureallywant.pl 'to do a power cycle on Wall')
+if [ $myvar == '256' ]; then exit; fi
+
+echo 'Sending power cycle request'
+wget -O /dev/null --http-password kaese --http-user admin -d http://haepcp06/RESET.CGI?a=0\&bi=5\&t=0\&b=1
+sleep 5
+echo 'waiting a minute until boards are rebooted'
+sleep 60
+echo 'Done'
+sleep 5
+"
--- /dev/null
+#!/bin/bash
+
+#export myvar=$(doyoureallywant.pl "to restart the DAQ")
+#if [ $myvar == "256" ]; then exit; fi
+#notifyall.sh "DAQ" "<I> DAQ is going to be restarted." "STARTUP" &
+
+#xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+# ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ export DAQOPSERVER=hadesp31
+ cd /home/hadaq/trbsoft/daq/evtbuild
+ perl ./mon_cts.pl
+# sleep 1
+#"
+#'
+
+#sleep 1
+#notifyall.sh "DAQ" "<I> DAQ has been started." "STARTUP" &
+
--- /dev/null
+#!/bin/bash
+#ssh -X hades30 " firefox -p Hmon http://hadesdaq02/mon"
+MOZ_NO_REMOTE=1 firefox -p Hmon http://hades33/mon
+
--- /dev/null
+#!/bin/bash
+
+ssh -X -l scs hadesdaq02 '. /home/scs/.profile; medm -x hades.adl'
--- /dev/null
+#!/bin/bash
+ssh -X scs@hadesdaq02 'export EPICS_CA_ADDR_LIST=192.168.103.255; export EPICS_CA_AUTO_ADDR_LIST=NO; /home/scs/epics/extensions/bin/linux-x86/medm -x -macro "SUBSYSNUM=24" ~/operator/ebmainctrl.adl'
--- /dev/null
+#!/bin/bash
+vncviewer -passwd ~/.vnc/daqvncpasswd lxhadesdaq:1 &
+
--- /dev/null
+#!/bin/bash
+xterm -T "HADES Chat" -geometry 80x30-0+0 -e ~/bin/hades_chat
+#xterm -T "HADES Chat" -geometry 80x30-0+0 -e 'source /home/hadaq/.bashrc; ~/bin/hades_chat'
--- /dev/null
+package Buttons2;
+
+use strict;
+use warnings;
+
+use QtCore4 ;
+use QtGui4;
+
+use Data::Dumper;
+use QtCore4::debug qw(ambiguous);
+
+
+#use Qt::isa qw(Qt::Widget);
+#use QtCore4::isa qw(Qt::Widget);
+#use QtCore4;
+
+use QtCore4::isa qw( Qt::Widget );
+
+use QtCore4::slots
+ hide_expert_checked => ['int'];
+
+
+sub groupBox_3 {
+ return shift->{groupBox_3};
+}
+
+sub hide_expert_checked {
+ my ( $state) = @_;
+
+ if($state == Qt::Unchecked()) {
+ this->{self}->{groupBox_4}->hide();
+ }
+ else {
+ this->{self}->{groupBox_4}->show();
+ }
+}
+
+
+use Data::Dumper;
+
+
+
+# # make slots
+my $str;
+$str = "use QtCore4::slots\n slotQuitPressed => [], ";
+foreach my $i (0..150) {
+ $str .= " slot". $i . "Pressed => [], ";
+}
+$str .= "slotdummyPressed => [];";
+
+#print "will eval command: $str\n";
+eval $str;
+#print "error: $@\n";
+
+
+# }
+
+
+
+sub NEW {
+ my ( $class, $mainWindow ) = @_;
+ $class->SUPER::NEW($mainWindow);
+
+ my $self = bless {}, $class;
+
+ this->{self} = $self;
+
+ $self->{ra_buttons} = [];
+
+ #print "self: "; print Dumper $self;
+ #print "this: "; print Dumper this;
+
+ #my $self = $mainWindow;
+ if ( !defined $mainWindow->objectName() ) {
+ $mainWindow->setObjectName( "mainWindow" );
+ }
+ #$mainWindow->resize( 800, 600 );
+ #$mainWindow->resize( 400, 300 );
+
+ #$self->{hide_expert_checked} = hide_expert_checked;
+
+ my $centralwidget = Qt::Widget( $mainWindow );
+ $self->{centralwidget} = $centralwidget;
+ $centralwidget->setObjectName( "centralwidget" );
+
+ my $vl_mw = Qt::VBoxLayout( $centralwidget );
+
+# my $layoutWidget = Qt::Widget( $centralwidget );
+# $self->{layoutWidget} = $layoutWidget;
+# $layoutWidget->setObjectName( "layoutWidget" );
+ #$layoutWidget->setGeometry( Qt::Rect(30, 110, 723, 418) );
+# my $horizontalLayout = Qt::HBoxLayout( $centralwidget );
+ my $horizontalLayout = Qt::HBoxLayout( );
+ $self->{horizontalLayout} = $horizontalLayout;
+ $horizontalLayout->setObjectName( "horizontalLayout" );
+ $horizontalLayout->setContentsMargins(0, 0, 0, 0 );
+
+ #$horizontalLayout->addStretch(1);
+
+ my $groupBox_1 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_1} = $groupBox_1;
+ $groupBox_1->setObjectName( "groupBox_1" );
+ my $vl_gb1 = Qt::VBoxLayout( $groupBox_1 );
+ $self->{vl_gb1} = $vl_gb1;
+ $vl_gb1->setObjectName( "vl_gb1" );
+
+
+
+ $horizontalLayout->addWidget( $groupBox_1 );
+
+
+ my $groupBox_2 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_2} = $groupBox_2;
+ $groupBox_2->setObjectName( "groupBox_2" );
+ my $vl_gb2 = Qt::VBoxLayout( $groupBox_2 );
+ $self->{vl_gb2} = $vl_gb2;
+ $vl_gb2->setObjectName( "vl_gb2" );
+
+ $horizontalLayout->addWidget( $groupBox_2 );
+
+ my $groupBox_3 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_3} = $groupBox_3;
+ $groupBox_3->setObjectName( "groupBox_3" );
+ my $vl_gb3 = Qt::VBoxLayout( $groupBox_3 );
+ $self->{vl_gb3} = $vl_gb3;
+ $vl_gb3->setObjectName( "vl_gb3" );
+
+ $horizontalLayout->addWidget( $groupBox_3 );
+
+ my $groupBox_4 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_4} = $groupBox_4;
+ $groupBox_4->setObjectName( "groupBox_4" );
+ my $vl_gb4 = Qt::VBoxLayout( $groupBox_4 );
+ $self->{vl_gb4} = $vl_gb4;
+ $vl_gb4->setObjectName( "vl_gb4" );
+
+ $horizontalLayout->addWidget( $groupBox_4 );
+
+ my $groupBox_5 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_5} = $groupBox_5;
+ $groupBox_5->setObjectName( "groupBox_5" );
+ my $vl_gb5 = Qt::VBoxLayout( $groupBox_5 );
+ $self->{vl_gb5} = $vl_gb5;
+ $vl_gb5->setObjectName( "vl_gb5" );
+
+ $horizontalLayout->addWidget( $groupBox_5 );
+
+ my $groupBox_6 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_6} = $groupBox_6;
+ $groupBox_6->setObjectName( "groupBox_6" );
+ my $vl_gb6 = Qt::VBoxLayout( $groupBox_6 );
+ $self->{vl_gb6} = $vl_gb6;
+ $vl_gb6->setObjectName( "vl_gb6" );
+
+ $horizontalLayout->addWidget( $groupBox_6 );
+
+
+
+# my $groupBox_4 = Qt::GroupBox( $centralwidget );
+# $self->{groupBox_4} = $groupBox_4;
+# $groupBox_4->setObjectName( "groupBox_4" );
+#
+# #$groupBox_3->setCheckable(1);
+# #$groupBox_3->setChecked(0);
+# $groupBox_4->hide();
+#
+#
+# my $vl_gb4 = Qt::VBoxLayout( $groupBox_4 );
+# $self->{vl_gb4} = $vl_gb4;
+# $vl_gb4->setObjectName( "vl_gb4" );
+#
+# $horizontalLayout->addWidget( $groupBox_4 );
+#
+#
+#
+ my $vl_top = Qt::VBoxLayout( );
+ $self->{vl_top} = $vl_top;
+ $vl_top->setObjectName( "vl_top" );
+ $vl_top->setContentsMargins(0, 0, 0, 0 );
+
+ $vl_mw->addLayout($vl_top);
+ $vl_mw->addLayout($horizontalLayout);
+#
+#
+# # my $pushButton = Qt::PushButton( $centralwidget );
+# # $self->{pushButton} = $pushButton;
+# # $pushButton->setObjectName( "pushButton" );
+#
+# # my $sizePolicy = Qt::SizePolicy( Qt::SizePolicy::Minimum(), Qt::SizePolicy::Fixed() );
+# # $self->{$sizePolicy} = $sizePolicy;
+# # $sizePolicy->setHorizontalStretch( 0 );
+# # $sizePolicy->setVerticalStretch( 0 );
+# # $sizePolicy->setHeightForWidth( $pushButton->sizePolicy()->hasHeightForWidth() );
+# # $pushButton->setSizePolicy( $sizePolicy );
+# # $pushButton->setMinimumSize( Qt::Size(0, 0) );
+# # my $icon = Qt::Icon;
+# # $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+# # $icon->addPixmap(Qt::Pixmap("close_window.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+# #$icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-system-login.png"), Qt::Icon::Normal(), Qt::Icon::On() );
+# # $pushButton->setIcon( $icon );
+# # $pushButton->setIconSize( Qt::Size(50, 50) );
+#
+# # $vl_top->addWidget( $pushButton );
+#
+# my $checkBox = Qt::CheckBox( $centralwidget );
+# $self->{checkBox} = $checkBox;
+# $checkBox->setObjectName( "checkBox" );
+#
+# $vl_top->addWidget( $checkBox );
+
+ $mainWindow->setCentralWidget( $centralwidget );
+ my $menubar = Qt::MenuBar( $mainWindow );
+ $self->{menubar} = $menubar;
+ $menubar->setObjectName( "menubar" );
+ #$menubar->setGeometry( Qt::Rect(0, 0, 800, 25) );
+ $mainWindow->setMenuBar( $menubar );
+ my $statusbar = Qt::StatusBar( $mainWindow );
+ $self->{statusbar} = $statusbar;
+ $statusbar->setObjectName( "statusbar" );
+ $mainWindow->setStatusBar( $statusbar );
+
+ $self->retranslateUi( $mainWindow );
+
+
+ my $cur_button_number = 0;
+
+ my $dir;
+ my $buttons = [];
+
+
+ make_buttons($self, "S1", \$cur_button_number, $groupBox_1, $vl_gb1);
+ make_buttons($self, "S2", \$cur_button_number, $groupBox_2, $vl_gb2);
+ make_buttons($self, "S3", \$cur_button_number, $groupBox_3, $vl_gb3);
+ make_buttons($self, "S4", \$cur_button_number, $groupBox_4, $vl_gb4);
+ make_buttons($self, "S5", \$cur_button_number, $groupBox_5, $vl_gb5);
+ make_buttons($self, "S6", \$cur_button_number, $groupBox_6, $vl_gb6);
+ #print "cur_button: $cur_button_number\n";
+
+ #$layoutWidget->updateGeometry();
+
+
+# Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+
+
+# Qt::Object::connect($checkBox, SIGNAL 'stateChanged(int)' ,
+# this, SLOT 'hide_expert_checked(int)' );
+
+ Qt::MetaObject::connectSlotsByName( $mainWindow );
+
+ return $self;
+
+}
+
+
+sub retranslateUi {
+ my ( $self, $mainWindow ) = @_;
+ $mainWindow->setWindowTitle( Qt::Application::translate( 'MainWindow', "MDC High Voltage Ramping", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_1}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 1", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_2}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 2", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_3}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 3", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_4}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 4", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_5}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 5", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_6}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 6", undef, Qt::Application::UnicodeUTF8() ) );
+# $self->{pushButton}->setText( Qt::Application::translate( 'MainWindow', "Quit DAQ-Control", undef, Qt::Application::UnicodeUTF8() ) );
+# $self->{checkBox}->setText( Qt::Application::translate( 'MainWindow', "Show Expert Tools", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+} # retranslateUi
+
+
+
+
+sub make_buttons {
+ (my $self, my $dir, my $r_current_button_number, my $bgrp, my $layout) = @_;
+
+ #print $bgrp;
+ #print "current number_; $r_current_button_number\n";
+
+ my $c = qq"find $dir -maxdepth 1 -type f| sort";
+ my @f = qx($c);
+
+ my $i = $$r_current_button_number;
+
+ my $button_list=[];
+
+ foreach (@f) {
+ next if /.png$/i;
+ chomp;
+ s/.*\///;
+ next if /\~$/;
+ push @$button_list, $_;
+ my $br = $self->{ra_buttons};
+ push @{$br}, $_;
+ }
+
+
+
+
+ foreach my $cur_button_name (@$button_list) {
+
+
+ next if ($cur_button_name =~ /.png$/);
+# my $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+ my $icon_path = "$dir/$cur_button_name" . ".png";
+# print "path: $icon_path_file \n";
+# my $fh_icon;
+# my $res = open($fh_icon, "<", $icon_path_file);
+# my @file = <$fh_icon>;
+# $fh_icon->close();
+
+ #/usr/share/icons/hicolor/48x48/apps/
+# my ($icon_name) = grep /Icon=/, @file;
+# $icon_name =~ s/Icon=//;
+# my $icon_path = "/usr/share/icons/hicolor/48x48/apps/$icon_name";
+# print "got icon path: $icon_path \n";
+
+
+ my $name = $cur_button_name;
+ $name =~ s/^\d+_//;
+ $name =~ s/_/ /g;
+
+
+ my $com = qq|
+my \$pb$i = Qt::PushButton("$cur_button_name", \$bgrp);
+\$self->{pb$i} = \$pb$i;
+\$layout->addWidget( \$pb$i );
+\$pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef,
+ Qt::Application::UnicodeUTF8() ) );
+
+my \$icon$i = Qt::Icon;
+\$icon$i->addPixmap(Qt::Pixmap(\"$icon_path\"), Qt::Icon::Normal(), Qt::Icon::Off() );
+
+\$pb$i->setIcon( \$icon$i );
+\$pb$i->setIconSize( Qt::Size(50, 50) );
+
+|;
+
+
+# my $pb_$i = Qt::PushButton("$_", \$bgrp);
+# $self->{pb$i} = $pb_$i;
+# $layout->addWidget( $pb_$i );
+# $pushButton->setIcon( $icon );
+# $pushButton->setIconSize( Qt::Size(50, 50) );
+# $pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+#/usr/share/icons/hicolor/48x48/apps/yast-bootloader.png
+
+ # print "command1: $com\n";
+
+ #print "command: $com\n";
+ eval $com;
+ print "$@\n" if ($@);
+
+
+#my $iconstr = "$icon" . "$i";
+
+$com = qq |
+|;
+
+
+
+ #Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+ $com = qq|Qt::Object::connect(\$self->{pb$i}, SIGNAL 'clicked()', this, SLOT 'slot| . $i . qq|Pressed()');|;
+ #print "command2: $com\n";
+ eval $com;
+ print "error: " , $@ , "\n" if ($@);
+
+ make_subroutine($i, $dir);
+
+ $i++;
+ #last if $i >=10;
+ }
+
+ $$r_current_button_number = $i;
+}
+
+
+sub make_subroutine {
+ (my $i, my $dir) = @_;
+ # make subroutines
+ #sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+ my $str = qq|sub slot| . $i . qq|Pressed { my \$c = this->{self}->{ra_buttons}->[$i]; \$c = "cd $dir; ./\$c &"; print "will execute: \$c\n"; system(\$c); }|;
+# my $str = qq|sub slot| . $i . qq|Pressed { print "$i pressed\n"; }|;
+#system(\$c); }|;
+ #print "sub: $str\n";
+ eval $str;
+}
+
+
+# sub slotQuitPressed {
+# exit;
+# }
+
+#sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+
+1;
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 1
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 1
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 1
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 1
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 2
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 2
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 2
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 2
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 3
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 3
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 3
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 3
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 4
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 4
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 4
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 4
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 5
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 5
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 5
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 5
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 1 6
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 2 6
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 3 6
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/bin/bash
+
+export myvar=$(doyoureallywant.pl "to do a HV ramping cycle")
+if [ $myvar == "256" ]; then exit; fi
+
+xterm -geometry 80x24 -bg orange -fg black -e bash --login -c '
+ ssh -X hadaq@hadesdaq02 "
+ source /home/hadaq/.bashrc
+ echo \" <Startup> Connected to hadesdaq02...\"
+ cd /home/hadaq/trbsoft/mdc/
+ ./mdc_ramping.pl 4 6
+ sleep 5
+"
+'
+
+
--- /dev/null
+#!/usr/bin/perl -w
+
+package main;
+
+use warnings;
+use strict;
+use QtCore4;
+use QtGui4;
+use Buttons2;
+
+sub main {
+
+ my $a = Qt::Application(\@ARGV);
+ my $w = Qt::MainWindow;
+ my $u = Buttons2($w);
+ $w->show();
+ exit $a->exec();
+}
+
+
+main();
+
--- /dev/null
+package Buttons2;
+
+use strict;
+use warnings;
+
+use QtCore4 ;
+use QtGui4;
+
+use Data::Dumper;
+use QtCore4::debug qw(ambiguous);
+
+
+#use Qt::isa qw(Qt::Widget);
+#use QtCore4::isa qw(Qt::Widget);
+#use QtCore4;
+
+use QtCore4::isa qw( Qt::Widget );
+
+use QtCore4::slots
+ hide_expert_checked => ['int'];
+
+
+sub groupBox_3 {
+ return shift->{groupBox_3};
+}
+
+sub hide_expert_checked {
+ my ( $state) = @_;
+
+ if($state == Qt::Unchecked()) {
+ this->{self}->{groupBox_4}->hide();
+ }
+ else {
+ this->{self}->{groupBox_4}->show();
+ }
+}
+
+
+use Data::Dumper;
+
+
+
+# # make slots
+my $str;
+$str = "use QtCore4::slots\n slotQuitPressed => [], ";
+foreach my $i (0..150) {
+ $str .= " slot". $i . "Pressed => [], ";
+}
+$str .= "slotdummyPressed => [];";
+
+#print "will eval command: $str\n";
+eval $str;
+#print "error: $@\n";
+
+
+# }
+
+
+
+sub NEW {
+ my ( $class, $mainWindow ) = @_;
+ $class->SUPER::NEW($mainWindow);
+
+ my $self = bless {}, $class;
+
+ this->{self} = $self;
+
+ $self->{ra_buttons} = [];
+
+ #print "self: "; print Dumper $self;
+ #print "this: "; print Dumper this;
+
+ #my $self = $mainWindow;
+ if ( !defined $mainWindow->objectName() ) {
+ $mainWindow->setObjectName( "mainWindow" );
+ }
+ #$mainWindow->resize( 800, 600 );
+ #$mainWindow->resize( 400, 300 );
+
+ #$self->{hide_expert_checked} = hide_expert_checked;
+
+ my $centralwidget = Qt::Widget( $mainWindow );
+ $self->{centralwidget} = $centralwidget;
+ $centralwidget->setObjectName( "centralwidget" );
+
+ my $vl_mw = Qt::VBoxLayout( $centralwidget );
+
+# my $layoutWidget = Qt::Widget( $centralwidget );
+# $self->{layoutWidget} = $layoutWidget;
+# $layoutWidget->setObjectName( "layoutWidget" );
+ #$layoutWidget->setGeometry( Qt::Rect(30, 110, 723, 418) );
+# my $horizontalLayout = Qt::HBoxLayout( $centralwidget );
+ my $horizontalLayout = Qt::HBoxLayout( );
+ $self->{horizontalLayout} = $horizontalLayout;
+ $horizontalLayout->setObjectName( "horizontalLayout" );
+ $horizontalLayout->setContentsMargins(0, 0, 0, 0 );
+
+ #$horizontalLayout->addStretch(1);
+
+ my $groupBox_1 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_1} = $groupBox_1;
+ $groupBox_1->setObjectName( "groupBox_1" );
+ my $vl_gb1 = Qt::VBoxLayout( $groupBox_1 );
+ $self->{vl_gb1} = $vl_gb1;
+ $vl_gb1->setObjectName( "vl_gb1" );
+
+
+
+ $horizontalLayout->addWidget( $groupBox_1 );
+
+
+ my $groupBox_2 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_2} = $groupBox_2;
+ $groupBox_2->setObjectName( "groupBox_2" );
+ my $vl_gb2 = Qt::VBoxLayout( $groupBox_2 );
+ $self->{vl_gb2} = $vl_gb2;
+ $vl_gb2->setObjectName( "vl_gb2" );
+
+ $horizontalLayout->addWidget( $groupBox_2 );
+
+ my $groupBox_3 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_3} = $groupBox_3;
+ $groupBox_3->setObjectName( "groupBox_3" );
+ my $vl_gb3 = Qt::VBoxLayout( $groupBox_3 );
+ $self->{vl_gb3} = $vl_gb3;
+ $vl_gb3->setObjectName( "vl_gb3" );
+
+ $horizontalLayout->addWidget( $groupBox_3 );
+
+ my $groupBox_4 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_4} = $groupBox_4;
+ $groupBox_4->setObjectName( "groupBox_4" );
+ my $vl_gb4 = Qt::VBoxLayout( $groupBox_4 );
+ $self->{vl_gb4} = $vl_gb4;
+ $vl_gb4->setObjectName( "vl_gb4" );
+
+ $horizontalLayout->addWidget( $groupBox_4 );
+
+ my $groupBox_5 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_5} = $groupBox_5;
+ $groupBox_5->setObjectName( "groupBox_5" );
+ my $vl_gb5 = Qt::VBoxLayout( $groupBox_5 );
+ $self->{vl_gb5} = $vl_gb5;
+ $vl_gb5->setObjectName( "vl_gb5" );
+
+ $horizontalLayout->addWidget( $groupBox_5 );
+
+ my $groupBox_6 = Qt::GroupBox( $centralwidget );
+ $self->{groupBox_6} = $groupBox_6;
+ $groupBox_6->setObjectName( "groupBox_6" );
+ my $vl_gb6 = Qt::VBoxLayout( $groupBox_6 );
+ $self->{vl_gb6} = $vl_gb6;
+ $vl_gb6->setObjectName( "vl_gb6" );
+
+ $horizontalLayout->addWidget( $groupBox_6 );
+
+
+
+# my $groupBox_4 = Qt::GroupBox( $centralwidget );
+# $self->{groupBox_4} = $groupBox_4;
+# $groupBox_4->setObjectName( "groupBox_4" );
+#
+# #$groupBox_3->setCheckable(1);
+# #$groupBox_3->setChecked(0);
+# $groupBox_4->hide();
+#
+#
+# my $vl_gb4 = Qt::VBoxLayout( $groupBox_4 );
+# $self->{vl_gb4} = $vl_gb4;
+# $vl_gb4->setObjectName( "vl_gb4" );
+#
+# $horizontalLayout->addWidget( $groupBox_4 );
+#
+#
+#
+ my $vl_top = Qt::VBoxLayout( );
+ $self->{vl_top} = $vl_top;
+ $vl_top->setObjectName( "vl_top" );
+ $vl_top->setContentsMargins(0, 0, 0, 0 );
+
+ $vl_mw->addLayout($vl_top);
+ $vl_mw->addLayout($horizontalLayout);
+#
+#
+# # my $pushButton = Qt::PushButton( $centralwidget );
+# # $self->{pushButton} = $pushButton;
+# # $pushButton->setObjectName( "pushButton" );
+#
+# # my $sizePolicy = Qt::SizePolicy( Qt::SizePolicy::Minimum(), Qt::SizePolicy::Fixed() );
+# # $self->{$sizePolicy} = $sizePolicy;
+# # $sizePolicy->setHorizontalStretch( 0 );
+# # $sizePolicy->setVerticalStretch( 0 );
+# # $sizePolicy->setHeightForWidth( $pushButton->sizePolicy()->hasHeightForWidth() );
+# # $pushButton->setSizePolicy( $sizePolicy );
+# # $pushButton->setMinimumSize( Qt::Size(0, 0) );
+# # my $icon = Qt::Icon;
+# # $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+# # $icon->addPixmap(Qt::Pixmap("close_window.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+# #$icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-system-login.png"), Qt::Icon::Normal(), Qt::Icon::On() );
+# # $pushButton->setIcon( $icon );
+# # $pushButton->setIconSize( Qt::Size(50, 50) );
+#
+# # $vl_top->addWidget( $pushButton );
+#
+# my $checkBox = Qt::CheckBox( $centralwidget );
+# $self->{checkBox} = $checkBox;
+# $checkBox->setObjectName( "checkBox" );
+#
+# $vl_top->addWidget( $checkBox );
+
+ $mainWindow->setCentralWidget( $centralwidget );
+ my $menubar = Qt::MenuBar( $mainWindow );
+ $self->{menubar} = $menubar;
+ $menubar->setObjectName( "menubar" );
+ #$menubar->setGeometry( Qt::Rect(0, 0, 800, 25) );
+ $mainWindow->setMenuBar( $menubar );
+ my $statusbar = Qt::StatusBar( $mainWindow );
+ $self->{statusbar} = $statusbar;
+ $statusbar->setObjectName( "statusbar" );
+ $mainWindow->setStatusBar( $statusbar );
+
+ $self->retranslateUi( $mainWindow );
+
+
+ my $cur_button_number = 0;
+
+ my $dir;
+ my $buttons = [];
+
+
+ make_buttons($self, "S0", \$cur_button_number, $groupBox_1, $vl_gb1);
+ make_buttons($self, "S1", \$cur_button_number, $groupBox_2, $vl_gb2);
+ make_buttons($self, "S2", \$cur_button_number, $groupBox_3, $vl_gb3);
+ make_buttons($self, "S3", \$cur_button_number, $groupBox_4, $vl_gb4);
+ make_buttons($self, "S4", \$cur_button_number, $groupBox_5, $vl_gb5);
+ make_buttons($self, "S5", \$cur_button_number, $groupBox_6, $vl_gb6);
+ #print "cur_button: $cur_button_number\n";
+
+ #$layoutWidget->updateGeometry();
+
+
+# Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+
+
+# Qt::Object::connect($checkBox, SIGNAL 'stateChanged(int)' ,
+# this, SLOT 'hide_expert_checked(int)' );
+
+ Qt::MetaObject::connectSlotsByName( $mainWindow );
+
+ return $self;
+
+}
+
+
+sub retranslateUi {
+ my ( $self, $mainWindow ) = @_;
+ $mainWindow->setWindowTitle( Qt::Application::translate( 'MainWindow', "MDC LV Powercycle", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_1}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 0", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_2}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 1", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_3}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 2", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_4}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 3", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_5}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 4", undef, Qt::Application::UnicodeUTF8() ) );
+ $self->{groupBox_6}->setTitle( Qt::Application::translate( 'MainWindow', "Sector 5", undef, Qt::Application::UnicodeUTF8() ) );
+# $self->{pushButton}->setText( Qt::Application::translate( 'MainWindow', "Quit DAQ-Control", undef, Qt::Application::UnicodeUTF8() ) );
+# $self->{checkBox}->setText( Qt::Application::translate( 'MainWindow', "Show Expert Tools", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+} # retranslateUi
+
+
+
+
+sub make_buttons {
+ (my $self, my $dir, my $r_current_button_number, my $bgrp, my $layout) = @_;
+
+ #print $bgrp;
+ #print "current number_; $r_current_button_number\n";
+
+ my $c = qq"find $dir -maxdepth 1 -type f| sort";
+ my @f = qx($c);
+
+ my $i = $$r_current_button_number;
+
+ my $button_list=[];
+
+ foreach (@f) {
+ next if /.png$/i;
+ chomp;
+ s/.*\///;
+ next if /\~$/;
+ push @$button_list, $_;
+ my $br = $self->{ra_buttons};
+ push @{$br}, $_;
+ }
+
+
+
+
+ foreach my $cur_button_name (@$button_list) {
+
+
+ next if ($cur_button_name =~ /.png$/);
+# my $icon->addPixmap(Qt::Pixmap("/usr/share/icons/oxygen/64x64/apps/preferences-desktop-icons.png"), Qt::Icon::Normal(), Qt::Icon::Off() );
+ my $icon_path = "$dir/$cur_button_name" . ".png";
+# print "path: $icon_path_file \n";
+# my $fh_icon;
+# my $res = open($fh_icon, "<", $icon_path_file);
+# my @file = <$fh_icon>;
+# $fh_icon->close();
+
+ #/usr/share/icons/hicolor/48x48/apps/
+# my ($icon_name) = grep /Icon=/, @file;
+# $icon_name =~ s/Icon=//;
+# my $icon_path = "/usr/share/icons/hicolor/48x48/apps/$icon_name";
+# print "got icon path: $icon_path \n";
+
+
+ my $name = $cur_button_name;
+ $name =~ s/^\d+_//;
+ $name =~ s/_/ /g;
+
+
+ my $com = qq|
+my \$pb$i = Qt::PushButton("$cur_button_name", \$bgrp);
+\$self->{pb$i} = \$pb$i;
+\$layout->addWidget( \$pb$i );
+\$pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef,
+ Qt::Application::UnicodeUTF8() ) );
+
+my \$icon$i = Qt::Icon;
+\$icon$i->addPixmap(Qt::Pixmap(\"$icon_path\"), Qt::Icon::Normal(), Qt::Icon::Off() );
+
+\$pb$i->setIcon( \$icon$i );
+\$pb$i->setIconSize( Qt::Size(50, 50) );
+
+|;
+
+
+# my $pb_$i = Qt::PushButton("$_", \$bgrp);
+# $self->{pb$i} = $pb_$i;
+# $layout->addWidget( $pb_$i );
+# $pushButton->setIcon( $icon );
+# $pushButton->setIconSize( Qt::Size(50, 50) );
+# $pb$i->setText ( Qt::Application::translate( 'MainWindow', "$name", undef, Qt::Application::UnicodeUTF8() ) );
+
+
+#/usr/share/icons/hicolor/48x48/apps/yast-bootloader.png
+
+ # print "command1: $com\n";
+
+ #print "command: $com\n";
+ eval $com;
+ print "$@\n" if ($@);
+
+
+#my $iconstr = "$icon" . "$i";
+
+$com = qq |
+|;
+
+
+
+ #Qt::Object::connect($pushButton, SIGNAL 'clicked()' , $mainWindow, SLOT 'close()' );
+ $com = qq|Qt::Object::connect(\$self->{pb$i}, SIGNAL 'clicked()', this, SLOT 'slot| . $i . qq|Pressed()');|;
+ #print "command2: $com\n";
+ eval $com;
+ print "error: " , $@ , "\n" if ($@);
+
+ make_subroutine($i, $dir);
+
+ $i++;
+ #last if $i >=10;
+ }
+
+ $$r_current_button_number = $i;
+}
+
+
+sub make_subroutine {
+ (my $i, my $dir) = @_;
+ # make subroutines
+ #sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+ my $str = qq|sub slot| . $i . qq|Pressed { my \$c = this->{self}->{ra_buttons}->[$i]; \$c = "cd $dir; ./\$c &"; print "will execute: \$c\n"; system('logger -p local1.info -t DAQ MdcLV \\<I\\> Powercycle in '.$dir.'/'.this->{self}->{ra_buttons}->[$i]); system(\$c); }|;
+# my $str = qq|sub slot| . $i . qq|Pressed { print "$i pressed\n"; }|;
+#system(\$c); }|;
+ #print "sub: $str\n";
+ eval $str;
+}
+
+
+# sub slotQuitPressed {
+# exit;
+# }
+
+#sub slot0Pressed { my $c = buttons->[0]; $c = "cd ../control; ./$c"; print "will execute: $c\n"; qx($c); }
+
+
+1;
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AA5E702000000A4 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A14E3020000008B 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A5CDB02000000E5 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3ABEF0020000002A 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A11DA0200000017 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A3AD90200000017 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A05E5020000007B 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A53E602000000A9 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 1'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 0'"
+
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6EE302000000DC 0'"
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A6FDA020000009C 0'"
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3A1FF4020000005E 0'"
+
--- /dev/null
+#!/bin/bash
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 2'"
+sleep 5
+command_client.pl -e etraxp204 -c "/home/hadaq/bin/writetty.sh 'OWDS 3AF6DB0200000076 0'"
+
+
--- /dev/null
+#!/usr/bin/perl -w
+
+package main;
+
+use warnings;
+use strict;
+use QtCore4;
+use QtGui4;
+use Buttons2;
+
+sub main {
+
+ my $a = Qt::Application(\@ARGV);
+ my $w = Qt::MainWindow;
+ my $u = Buttons2($w);
+ $w->show();
+ exit $a->exec();
+}
+
+
+main();
+