00001 #include <klocale.h>
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "optionstmpl.h"
00012
00013 #include <qvariant.h>
00014 #include <qbuttongroup.h>
00015 #include <qcheckbox.h>
00016 #include <qframe.h>
00017 #include <qgroupbox.h>
00018 #include <qlineedit.h>
00019 #include <qpushbutton.h>
00020 #include <qradiobutton.h>
00021 #include <qslider.h>
00022 #include <qlayout.h>
00023 #include <qtooltip.h>
00024 #include <qwhatsthis.h>
00025
00026
00027
00028
00029
00030 OptionsTmpl::OptionsTmpl( QWidget* parent, const char* name, WFlags fl )
00031 : QWidget( parent, name, fl )
00032 {
00033 if ( !name )
00034 setName( "OptionsTmpl" );
00035 OptionsTmplLayout = new QGridLayout( this, 1, 1, 11, 6, "OptionsTmplLayout");
00036 QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
00037 OptionsTmplLayout->addItem( spacer, 2, 0 );
00038
00039 TimeFormatBtnGroup = new QButtonGroup( this, "TimeFormatBtnGroup" );
00040 TimeFormatBtnGroup->setAlignment( int( QButtonGroup::AlignTop | QButtonGroup::AlignLeft ) );
00041 TimeFormatBtnGroup->setColumnLayout(0, Qt::Vertical );
00042 TimeFormatBtnGroup->layout()->setSpacing( 6 );
00043 TimeFormatBtnGroup->layout()->setMargin( 11 );
00044 TimeFormatBtnGroupLayout = new QVBoxLayout( TimeFormatBtnGroup->layout() );
00045 TimeFormatBtnGroupLayout->setAlignment( Qt::AlignTop );
00046
00047 HMSRadioBtn = new QRadioButton( TimeFormatBtnGroup, "HMSRadioBtn" );
00048 TimeFormatBtnGroup->insert( HMSRadioBtn, 1 );
00049 TimeFormatBtnGroupLayout->addWidget( HMSRadioBtn );
00050
00051 DHMSRadioBtn = new QRadioButton( TimeFormatBtnGroup, "DHMSRadioBtn" );
00052 TimeFormatBtnGroup->insert( DHMSRadioBtn, 2 );
00053 TimeFormatBtnGroupLayout->addWidget( DHMSRadioBtn );
00054
00055 OptionsTmplLayout->addWidget( TimeFormatBtnGroup, 1, 1 );
00056
00057 GeneralOptionsBox = new QFrame( this, "GeneralOptionsBox" );
00058 GeneralOptionsBox->setFrameShape( QFrame::Box );
00059 GeneralOptionsBox->setFrameShadow( QFrame::Sunken );
00060 GeneralOptionsBoxLayout = new QVBoxLayout( GeneralOptionsBox, 11, 6, "GeneralOptionsBoxLayout");
00061
00062 MinToPanelChkBox = new QCheckBox( GeneralOptionsBox, "MinToPanelChkBox" );
00063 MinToPanelChkBox->setAutoResize( TRUE );
00064 GeneralOptionsBoxLayout->addWidget( MinToPanelChkBox );
00065
00066 DrawGridChkBox = new QCheckBox( GeneralOptionsBox, "DrawGridChkBox" );
00067 DrawGridChkBox->setAutoResize( TRUE );
00068 GeneralOptionsBoxLayout->addWidget( DrawGridChkBox );
00069
00070 OptionsTmplLayout->addWidget( GeneralOptionsBox, 1, 0 );
00071 QSpacerItem* spacer_2 = new QSpacerItem( 20, 20, QSizePolicy::Preferred, QSizePolicy::Minimum );
00072 OptionsTmplLayout->addItem( spacer_2, 1, 3 );
00073
00074 NewSignalBtnGroup = new QButtonGroup( this, "NewSignalBtnGroup" );
00075 NewSignalBtnGroup->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 0, 0, NewSignalBtnGroup->sizePolicy().hasHeightForWidth() ) );
00076 NewSignalBtnGroup->setAlignment( int( QButtonGroup::AlignTop | QButtonGroup::AlignLeft ) );
00077 NewSignalBtnGroup->setColumnLayout(0, Qt::Vertical );
00078 NewSignalBtnGroup->layout()->setSpacing( 6 );
00079 NewSignalBtnGroup->layout()->setMargin( 11 );
00080 NewSignalBtnGroupLayout = new QGridLayout( NewSignalBtnGroup->layout() );
00081 NewSignalBtnGroupLayout->setAlignment( Qt::AlignTop );
00082
00083 GaussianChkBox = new QCheckBox( NewSignalBtnGroup, "GaussianChkBox" );
00084 GaussianChkBox->setAutoResize( TRUE );
00085 NewSignalBtnGroup->insert( GaussianChkBox, 1 );
00086
00087 NewSignalBtnGroupLayout->addWidget( GaussianChkBox, 1, 0 );
00088
00089 SpikeChkBox = new QCheckBox( NewSignalBtnGroup, "SpikeChkBox" );
00090 SpikeChkBox->setAutoResize( TRUE );
00091 NewSignalBtnGroup->insert( SpikeChkBox, 0 );
00092
00093 NewSignalBtnGroupLayout->addWidget( SpikeChkBox, 0, 0 );
00094
00095 PulseChkBox = new QCheckBox( NewSignalBtnGroup, "PulseChkBox" );
00096 PulseChkBox->setAutoResize( TRUE );
00097 NewSignalBtnGroup->insert( PulseChkBox, 2 );
00098
00099 NewSignalBtnGroupLayout->addWidget( PulseChkBox, 0, 1 );
00100
00101 TripletChkBox = new QCheckBox( NewSignalBtnGroup, "TripletChkBox" );
00102 TripletChkBox->setAutoResize( TRUE );
00103 NewSignalBtnGroup->insert( TripletChkBox, 3 );
00104
00105 NewSignalBtnGroupLayout->addWidget( TripletChkBox, 1, 1 );
00106
00107 Layout4 = new QGridLayout( 0, 1, 1, 0, 6, "Layout4");
00108
00109 SoundBtn = new QPushButton( NewSignalBtnGroup, "SoundBtn" );
00110 SoundBtn->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)0, 0, 0, SoundBtn->sizePolicy().hasHeightForWidth() ) );
00111 SoundBtn->setMaximumSize( QSize( 30, 26 ) );
00112
00113 Layout4->addWidget( SoundBtn, 1, 1 );
00114
00115 SoundChkBox = new QCheckBox( NewSignalBtnGroup, "SoundChkBox" );
00116
00117 Layout4->addMultiCellWidget( SoundChkBox, 0, 0, 0, 1 );
00118
00119 PlayBtn = new QPushButton( NewSignalBtnGroup, "PlayBtn" );
00120 PlayBtn->setMaximumSize( QSize( 30, 26 ) );
00121
00122 Layout4->addWidget( PlayBtn, 1, 2 );
00123
00124 SoundLineEdit = new QLineEdit( NewSignalBtnGroup, "SoundLineEdit" );
00125 SoundLineEdit->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, SoundLineEdit->sizePolicy().hasHeightForWidth() ) );
00126
00127 Layout4->addWidget( SoundLineEdit, 1, 0 );
00128
00129 NewSignalBtnGroupLayout->addMultiCellLayout( Layout4, 2, 2, 0, 3 );
00130
00131 Line2 = new QFrame( NewSignalBtnGroup, "Line2" );
00132 Line2->setFrameStyle( QFrame::VLine | QFrame::Sunken );
00133
00134 NewSignalBtnGroupLayout->addMultiCellWidget( Line2, 0, 1, 2, 2 );
00135
00136 ShowRecordChkBox = new QCheckBox( NewSignalBtnGroup, "ShowRecordChkBox" );
00137 ShowRecordChkBox->setEnabled( FALSE );
00138 ShowRecordChkBox->setAutoResize( TRUE );
00139 NewSignalBtnGroup->insert( ShowRecordChkBox, 4 );
00140
00141 NewSignalBtnGroupLayout->addMultiCellWidget( ShowRecordChkBox, 0, 1, 3, 3 );
00142
00143 OptionsTmplLayout->addMultiCellWidget( NewSignalBtnGroup, 0, 1, 2, 2 );
00144
00145 RefreshIntSliderBox = new QGroupBox( this, "RefreshIntSliderBox" );
00146 RefreshIntSliderBox->setColumnLayout(0, Qt::Vertical );
00147 RefreshIntSliderBox->layout()->setSpacing( 6 );
00148 RefreshIntSliderBox->layout()->setMargin( 11 );
00149 RefreshIntSliderBoxLayout = new QVBoxLayout( RefreshIntSliderBox->layout() );
00150 RefreshIntSliderBoxLayout->setAlignment( Qt::AlignTop );
00151
00152 RefreshIntSlider = new QSlider( RefreshIntSliderBox, "RefreshIntSlider" );
00153 RefreshIntSlider->setMinValue( 1 );
00154 RefreshIntSlider->setMaxValue( 300 );
00155 RefreshIntSlider->setOrientation( QSlider::Horizontal );
00156 RefreshIntSlider->setTickmarks( QSlider::Right );
00157 RefreshIntSlider->setTickInterval( 10 );
00158 RefreshIntSliderBoxLayout->addWidget( RefreshIntSlider );
00159
00160 OptionsTmplLayout->addMultiCellWidget( RefreshIntSliderBox, 0, 0, 0, 1 );
00161 languageChange();
00162 resize( QSize(675, 161).expandedTo(minimumSizeHint()) );
00163
00164
00165 connect( RefreshIntSlider, SIGNAL( valueChanged(int) ), this, SLOT( slotSetRefreshInterval(int) ) );
00166 connect( TimeFormatBtnGroup, SIGNAL( clicked(int) ), this, SLOT( slotSetTimeFormat(int) ) );
00167 connect( DrawGridChkBox, SIGNAL( stateChanged(int) ), this, SLOT( slotSetDrawGrid() ) );
00168 connect( MinToPanelChkBox, SIGNAL( stateChanged(int) ), this, SLOT( slotSetMinToPanel() ) );
00169 connect( NewSignalBtnGroup, SIGNAL( clicked(int) ), this, SLOT( slotSetReportSignals(int) ) );
00170 connect( SoundBtn, SIGNAL( clicked() ), this, SLOT( slotSelectSound() ) );
00171 connect( SoundChkBox, SIGNAL( stateChanged(int) ), this, SLOT( slotSetSoundOption() ) );
00172 connect( PlayBtn, SIGNAL( clicked() ), this, SLOT( slotPlaySound() ) );
00173 connect( SoundLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( slotSetSound() ) );
00174 connect( SpikeChkBox, SIGNAL( toggled(bool) ), this, SLOT( slotEnableRecordCheckbox(bool) ) );
00175 connect( GaussianChkBox, SIGNAL( toggled(bool) ), this, SLOT( slotEnableRecordCheckbox(bool) ) );
00176 connect( PulseChkBox, SIGNAL( toggled(bool) ), this, SLOT( slotEnableRecordCheckbox(bool) ) );
00177 connect( TripletChkBox, SIGNAL( toggled(bool) ), this, SLOT( slotEnableRecordCheckbox(bool) ) );
00178
00179
00180 setTabOrder( RefreshIntSlider, MinToPanelChkBox );
00181 setTabOrder( MinToPanelChkBox, DrawGridChkBox );
00182 setTabOrder( DrawGridChkBox, HMSRadioBtn );
00183 setTabOrder( HMSRadioBtn, DHMSRadioBtn );
00184 setTabOrder( DHMSRadioBtn, SpikeChkBox );
00185 setTabOrder( SpikeChkBox, GaussianChkBox );
00186 setTabOrder( GaussianChkBox, PulseChkBox );
00187 setTabOrder( PulseChkBox, TripletChkBox );
00188 setTabOrder( TripletChkBox, ShowRecordChkBox );
00189 setTabOrder( ShowRecordChkBox, SoundChkBox );
00190 setTabOrder( SoundChkBox, SoundLineEdit );
00191 setTabOrder( SoundLineEdit, SoundBtn );
00192 setTabOrder( SoundBtn, PlayBtn );
00193 }
00194
00195
00196
00197
00198 OptionsTmpl::~OptionsTmpl()
00199 {
00200
00201 }
00202
00203
00204
00205
00206
00207 void OptionsTmpl::languageChange()
00208 {
00209 TimeFormatBtnGroup->setTitle( tr2i18n( "Time Format:" ) );
00210 HMSRadioBtn->setText( tr2i18n( "hh:mm:ss" ) );
00211 DHMSRadioBtn->setText( tr2i18n( "dd:hh:mm:ss" ) );
00212 MinToPanelChkBox->setText( tr2i18n( "Minimize to Panel" ) );
00213 DrawGridChkBox->setText( tr2i18n( "Draw Grid in Listviews" ) );
00214 NewSignalBtnGroup->setTitle( tr2i18n( "Report New Signals:" ) );
00215 GaussianChkBox->setText( tr2i18n( "Gaussians" ) );
00216 SpikeChkBox->setText( tr2i18n( "Spikes" ) );
00217 PulseChkBox->setText( tr2i18n( "Pulses" ) );
00218 TripletChkBox->setText( tr2i18n( "Triplets" ) );
00219 SoundBtn->setText( QString::null );
00220 SoundChkBox->setText( tr2i18n( "Play Sound:" ) );
00221 PlayBtn->setText( QString::null );
00222 ShowRecordChkBox->setText( tr2i18n( "Only Records" ) );
00223 RefreshIntSliderBox->setTitle( tr2i18n( "Refresh Interval: " ) );
00224 }
00225
00226 void OptionsTmpl::slotEnableRecordCheckbox(bool)
00227 {
00228 qWarning( "OptionsTmpl::slotEnableRecordCheckbox(bool): Not implemented yet" );
00229 }
00230
00231 void OptionsTmpl::slotPlaySound()
00232 {
00233 qWarning( "OptionsTmpl::slotPlaySound(): Not implemented yet" );
00234 }
00235
00236 void OptionsTmpl::slotSelectSound()
00237 {
00238 qWarning( "OptionsTmpl::slotSelectSound(): Not implemented yet" );
00239 }
00240
00241 void OptionsTmpl::slotSetDrawGrid()
00242 {
00243 qWarning( "OptionsTmpl::slotSetDrawGrid(): Not implemented yet" );
00244 }
00245
00246 void OptionsTmpl::slotSetMinToPanel()
00247 {
00248 qWarning( "OptionsTmpl::slotSetMinToPanel(): Not implemented yet" );
00249 }
00250
00251 void OptionsTmpl::slotSetRefreshInterval(int)
00252 {
00253 qWarning( "OptionsTmpl::slotSetRefreshInterval(int): Not implemented yet" );
00254 }
00255
00256 void OptionsTmpl::slotSetReportSignals(int)
00257 {
00258 qWarning( "OptionsTmpl::slotSetReportSignals(int): Not implemented yet" );
00259 }
00260
00261 void OptionsTmpl::slotSetSound()
00262 {
00263 qWarning( "OptionsTmpl::slotSetSound(): Not implemented yet" );
00264 }
00265
00266 void OptionsTmpl::slotSetSoundOption()
00267 {
00268 qWarning( "OptionsTmpl::slotSetSoundOption(): Not implemented yet" );
00269 }
00270
00271 void OptionsTmpl::slotSetTimeFormat(int)
00272 {
00273 qWarning( "OptionsTmpl::slotSetTimeFormat(int): Not implemented yet" );
00274 }
00275
00276 #include "optionstmpl.moc"