#include "channelMasks.h" ChannelMasks::ChannelMasks( int chans, QWidget* parentCP, QWidget* parent ) : QMainWindow( parentCP ) { // Copy the parameter to a member variable. channels = chans; // Set the window name. setObjectName( "Disable Channels" ); setWindowTitle( "Disable Channels" ); // Create the grid layout. layout = new QGridLayout; // Create the labels. colLabels[0] = new QLabel( tr( "Channel #" ) ); colLabels[1] = new QLabel( tr( "Disable Channel" ) ); colLabels[2] = new QLabel( tr( "Disable HDDs" ) ); // Create the row labels. rowLabels = new QLabel*[ channels ]; for( int i = 0; i < channels; ++i ) { QString name = "Channel "; QString num; num.setNum( i+1 ); name.append( num ); name.append( ": " ); rowLabels[i] = new QLabel( name.toStdString().c_str() ); } // Create the check boxes. chanCheck = new QCheckBox*[ channels ]; hddCheck = new QCheckBox*[ channels ]; //hddCheck0 = new QCheckBox*[ chans ]; //hddCheck1 = new QCheckBox*[ chans ]; for( int i = 0; i < channels; ++i ) { chanCheck[i] = new QCheckBox; hddCheck[i] = new QCheckBox; connect( chanCheck[i], SIGNAL( toggled( bool ) ), this, SLOT( checked() ) ); //hddCheck0[i] = new QCheckBox; //hddCheck1[i] = new QCheckBox; } // Create the close button. closeButton = new QPushButton( "Close Window" ); connect( closeButton, SIGNAL( clicked() ), this, SLOT( closeWindow() ) ); // Add the elements to the layout. layout->addWidget( colLabels[0], 1, 0, Qt::AlignCenter ); layout->addWidget( colLabels[1], 1, 1, Qt::AlignCenter ); layout->addWidget( colLabels[2], 1, 2, Qt::AlignCenter ); for( int i = 0; i < channels; ++i ) { layout->addWidget( rowLabels[i], i+2, 0, Qt::AlignCenter ); layout->addWidget( chanCheck[i], i+2, 1, Qt::AlignCenter ); layout->addWidget( hddCheck[i], i+2, 2, Qt::AlignCenter ); } layout->addWidget( closeButton, channels + 2, 0, 1, 3 ); // Create a central widget and set the layout for the window. setCentralWidget( new QWidget() ); centralWidget()->setLayout( layout ); } ChannelMasks::~ChannelMasks() { } bool ChannelMasks::chanMasked( int num ) { if( chanCheck[num]->isChecked() ) { return true; } else { return false; } } bool ChannelMasks::hddMasked( int num ) { if( hddCheck[num]->isChecked() ) { return true; } else { return false; } } /*bool ChannelMasks::hddMasked0( int num ) { if( hddCheck0[num-1]->isChecked() ) { return true; } else { return false; } } bool ChannelMasks::hddMasked1( int num ) { if( hddCheck1[num-1]->isChecked() ) { return true; } else { return false; } }*/ void ChannelMasks::closeEvent( QCloseEvent* event ) { saveMasksToFile(); event->accept(); } void ChannelMasks::saveMasksToFile() { } int ChannelMasks::chanMaskedNum() { int count = 0; for( int i = 0; i < channels; ++i ) { if( chanCheck[i]->isChecked() ) { count++; } } return count; } int ChannelMasks::hddMaskedNum() { int count = 0; for( int i = 0; i < channels; ++i ) { if( hddCheck[i]->isChecked() ) { count++; } } return count; } void ChannelMasks::checked() { for( int i = 0; i < channels; ++i ) { if( chanCheck[i]->isChecked() ) { hddCheck[i]->setChecked( true ); } } } void ChannelMasks::closeWindow() { this->close(); }