Beispiel #1
0
//---------------------FLOW FUNCTION -----------------------
QGroupBox * Mainwindow::viewadd(QWidget *centralwidget,QString filter)
{
	QGroupBox *box = new QGroupBox(centralwidget);
    QVBoxLayout *layout = new QVBoxLayout;
	RoomView = new QTableView();
    RoomView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    RoomView->setSelectionBehavior(QAbstractItemView::SelectRows);
    RoomView->setSelectionMode(QAbstractItemView::SingleSelection);
    RoomView->hideColumn(4);
    RoomView->hideColumn(5);
    RoomView->setShowGrid(false);
    RoomView->verticalHeader()->hide();
    RoomView->setAlternatingRowColors(true);
    
    if(filter.isEmpty())
    {
    	RoomView->setModel(modelback(centralwidget));
   	}
   	else
   	{
   		RoomView->setModel(searchmodel(filter));
  	}
    
    QLocale locale = RoomView->locale();
    locale.setNumberOptions(QLocale::OmitGroupSeparator);
    RoomView->setLocale(locale);
        
	layout->addWidget(RoomView,0,0);
	box->setLayout(layout);
	box->setGeometry(QRect(20, 55, 251, 261));
	box->show();    
    return box;
}
Beispiel #2
0
egx_wnd_t egx_groupbox_create_(int res_id,char *name,egx_uint32_t style,int x,int y,int width,int height,egx_wnd_t parent)
{
	QGroupBox *button = new QGroupBox(QString::fromLocal8Bit(name),(QWidget*)(parent));
	if(x == 0 || y == 0){
		button->resize(width,height);
	}else{
		button->setGeometry(x,y,width,height);
	}
	return HWND_TO_GUIWND(button);
}
	void SoundControllerWidget::setupSoundSpecificPropertiesBox(QWidget *soundBox)
	{
		QGroupBox *specificPropertiesGroupBox = new QGroupBox(soundBox);
		specificPropertiesGroupBox->setTitle("Specific Properties");
		specificPropertiesGroupBox->setGeometry(QRect(5, 60, 345, 95));
		GroupBoxStyleHelper::applyNormalStyle(specificPropertiesGroupBox);

		QLabel *soundTypeLabel= new QLabel(specificPropertiesGroupBox);
		soundTypeLabel->setText("Sound Type:");
		soundTypeLabel->setGeometry(QRect(5, 15, 65, 22));

		soundType = new QLabel(specificPropertiesGroupBox);
		soundType->setGeometry(QRect(85, 15, 80, 22));

		setupAmbientSoundBox(specificPropertiesGroupBox);
		setupPointSoundBox(specificPropertiesGroupBox);
	}
	void SoundControllerWidget::setupSoundGeneralPropertiesBox(QWidget *lightBox)
	{
		QGroupBox *generalPropertiesGroupBox = new QGroupBox(lightBox);
		generalPropertiesGroupBox->setTitle("General Properties");
		generalPropertiesGroupBox->setGeometry(QRect(5, 15, 345, 40));
		GroupBoxStyleHelper::applyNormalStyle(generalPropertiesGroupBox);

		QLabel *volumeLabel= new QLabel(generalPropertiesGroupBox);
		volumeLabel->setText("Volume:");
		volumeLabel->setGeometry(QRect(5, 15, 55, 22));

		volume = new QDoubleSpinBox(generalPropertiesGroupBox);
		volume->setGeometry(QRect(85, 15, 80, 22));
		SpinBoxStyleHelper::applyDefaultStyleOn(volume);
		volume->setMinimum(0.0);
		connect(volume, SIGNAL(valueChanged(double)), this, SLOT(updateSoundGeneralProperties()));
	}
Beispiel #5
0
void CSysSetting::CalculatePos( )
{
    QRect rectWnd = this->geometry( );

    QString strName = "wgCommon";
    QWidget* pWgCommon = findChild< QWidget* >( strName );
    QRect rectCommon = pWgCommon->geometry( );
    pWgCommon->setGeometry( ( rectWnd.width( ) - 2 - rectCommon.width( ) ) / 2,
                          ( rectWnd.height( )  - 26 - rectCommon.height( ) ) / 2,
                          rectCommon.width( ), rectCommon.height( ) );

    strName.clear( );
    strName.append( "gbTimeLimit" );
    QGroupBox* pGB = findChild< QGroupBox* >( strName );
    QRect rectGB = pGB->geometry( );
    pGB->setGeometry( ( rectWnd.width( ) - 2 - rectGB.width( ) ) / 2,
                          ( rectWnd.height( )  - 26 - rectGB.height( ) ) / 2,
                          rectGB.width( ), rectGB.height( ) );

    strName.clear( );
    strName.append( "wgVideo" );
    QWidget* pVideo = findChild< QWidget* >( strName );
    QRect rectVideo = pVideo->geometry( );
    pVideo->setGeometry( ( rectWnd.width( ) - 2 - rectVideo.width( ) ) / 2,
                          ( rectWnd.height( )  - 26 - rectVideo.height( ) ) / 2,
                          rectVideo.width( ), rectVideo.height( ) );

    strName.clear( );
    strName.append( "wgVichle" );
    QWidget* pVichle = findChild< QWidget* >( strName );
    QRect rectVichle = pVichle->geometry( );
    pVichle->setGeometry( ( rectWnd.width( ) - 2 - rectVichle.width( ) ) / 2,
                          ( rectWnd.height( )  - 26 - rectVichle.height( ) ) / 2,
                          rectVichle.width( ), rectVichle.height( ) );

    strName.clear( );
    strName.append( "wgSpecial" );
    QWidget* pSpecial = findChild< QWidget* >( strName );
    QRect rectSpecial = pSpecial->geometry( );
    pSpecial->setGeometry( ( rectWnd.width( ) - 2 - rectSpecial.width( ) ) / 2,
                          ( rectWnd.height( )  - 26 - rectSpecial.height( ) ) / 2,
                          rectSpecial.width( ), rectSpecial.height( ) );
}
	void SoundControllerWidget::setupSoundTriggerSpecificPropertiesBox(QWidget *soundTriggerBox)
	{
		QGroupBox *specificPropertiesGroupBox = new QGroupBox(soundTriggerBox);
		specificPropertiesGroupBox->setTitle("Specific Properties");
		specificPropertiesGroupBox->setGeometry(QRect(5, 115, 345, 240));
		GroupBoxStyleHelper::applyNormalStyle(specificPropertiesGroupBox);

		QLabel *soundTriggerTypeLabel= new QLabel(specificPropertiesGroupBox);
		soundTriggerTypeLabel->setText("Trigger Type:");
		soundTriggerTypeLabel->setGeometry(QRect(5, 15, 65, 22));

		soundTriggerType = new QLabel(specificPropertiesGroupBox);
		soundTriggerType->setGeometry(QRect(85, 15, 80, 22));

		changeSoundTriggerTypeButton = new QPushButton(specificPropertiesGroupBox);
		changeSoundTriggerTypeButton->setText("Change Trigger");
		changeSoundTriggerTypeButton->setGeometry(QRect(180, 15, 85, 22));
		connect(changeSoundTriggerTypeButton, SIGNAL(clicked()), this, SLOT(showChangeSoundTriggerDialog()));

		setupManuelTriggerBox(specificPropertiesGroupBox);
		setupShapeTriggerBox(specificPropertiesGroupBox);
	}
	void SoundControllerWidget::setupSoundBehaviorPropertiesBox(QWidget *soundTriggerGroupBox)
	{
		QGroupBox *soundBehaviorGroupBox = new QGroupBox(soundTriggerGroupBox);
		soundBehaviorGroupBox->setTitle("Sound Behavior");
		soundBehaviorGroupBox->setGeometry(QRect(5, 15, 345, 95));
		GroupBoxStyleHelper::applyNormalStyle(soundBehaviorGroupBox);

		QLabel *playBehaviorLabel= new QLabel(soundBehaviorGroupBox);
		playBehaviorLabel->setText("Play Behavior:");
		playBehaviorLabel->setGeometry(QRect(5, 15, 95, 22));

		playBehavior = new QComboBox(soundBehaviorGroupBox);
		playBehavior->setGeometry(QRect(110, 15, 130, 22));
		playBehavior->addItem(PLAY_ONCE_LABEL, QVariant(SoundBehavior::PLAY_ONCE));
		playBehavior->addItem(PLAY_LOOP_LABEL, QVariant(SoundBehavior::PLAY_LOOP));
		connect(playBehavior, SIGNAL(currentIndexChanged(int)), this, SLOT(updateSoundBehaviorProperties()));

		QLabel *stopBehaviorLabel= new QLabel(soundBehaviorGroupBox);
		stopBehaviorLabel->setText("Stop Behavior:");
		stopBehaviorLabel->setGeometry(QRect(5, 40, 95, 22));

		stopBehavior = new QComboBox(soundBehaviorGroupBox);
		stopBehavior->setGeometry(QRect(110, 40, 130, 22));
		stopBehavior->addItem(INSTANT_STOP_LABEL, QVariant(SoundBehavior::INSTANT_STOP));
		stopBehavior->addItem(SMOOTH_STOP_LABEL, QVariant(SoundBehavior::SMOOTH_STOP));
		connect(stopBehavior, SIGNAL(currentIndexChanged(int)), this, SLOT(updateSoundBehaviorProperties()));

		QLabel *volumeDecreasePercentageOnStopLabel= new QLabel(soundBehaviorGroupBox);
		volumeDecreasePercentageOnStopLabel->setText("Volume Decrease:");
		volumeDecreasePercentageOnStopLabel->setGeometry(QRect(5, 65, 95, 22));

		volumeDecreasePercentageOnStop = new QDoubleSpinBox(soundBehaviorGroupBox);
		volumeDecreasePercentageOnStop->setGeometry(QRect(110, 65, 80, 22));
		SpinBoxStyleHelper::applyDefaultStyleOn(volumeDecreasePercentageOnStop);
		volumeDecreasePercentageOnStop->setMinimum(0.0);
		volumeDecreasePercentageOnStop->setMaximum(1.0);
		connect(volumeDecreasePercentageOnStop, SIGNAL(valueChanged(double)), this, SLOT(updateSoundBehaviorProperties()));
	}
Beispiel #8
0
ConfigDlg::ConfigDlg(QWidget *parent, const char *name,
		     KApplication *mykapp, DefStruct *defstruct)
  : QDialog(parent, name)
{

  mykapp = kapp;
  defst = defstruct;

  box = new QGroupBox(this, "box");
  box->setGeometry(10,10,320,260);
  box->setTitle(i18n("Defaults"));

  label1 = new QLabel(this);
  label1->setGeometry(20,30,135,25);
  label1->setText(klocale->translate("Text Color:"));

  qframe1 = new QFrame(this);
  qframe1->setGeometry(155,30,30,25);	
  qframe1->setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
  qframe1->setBackgroundColor(defst->forecolor);

  button1 = new QPushButton(this);
  button1->setGeometry(205,30,100,25);
  button1->setText(klocale->translate("Change"));
  connect(button1,SIGNAL(clicked()),this,SLOT(set_fore_color()));

  label2 = new QLabel(this);
  label2->setGeometry(20,65,135,25);
  label2->setText(klocale->translate("Background Color:"));

  qframe2 = new QFrame(this);
  qframe2->setGeometry(155,65,30,25);	
  qframe2->setFrameStyle(QFrame::WinPanel | QFrame::Sunken);
  qframe2->setBackgroundColor(defst->backcolor);

  button2 = new QPushButton(this);
  button2->setGeometry(205,65,100,25);
  button2->setText(klocale->translate("Change"));
  connect(button2,SIGNAL(clicked()),this,SLOT(set_background_color()));

  /*  button3 = new QPushButton(this);
  button3->setGeometry(255,240,70,25);
  button3->setText(klocale->translate("Help"));
  connect(button3,SIGNAL(clicked()),this,SLOT(help()));
  */
  label5 = new QLabel(this);
  label5->setGeometry(20,105,50,25);
  label5->setText(klocale->translate("Width:"));

  width = new KIntLineEdit(this);
  width->setGeometry(70,105,60,23);
  QString string;
  string.setNum(defst->width);
  width->setText(string);

  label6 = new QLabel(this);
  label6->setGeometry(20,145,50,25);
  label6->setText(klocale->translate("Height:"));

  height = new KIntLineEdit(this);
  height->setGeometry(70,145,60,23);

  QString string2;
  string2.setNum(defst->height);
  height->setText(string2);
  
  label7 = new QLabel(this);
  label7->setGeometry(20,185,100,25);
  label7->setText(klocale->translate("Print Command:"));

  print = new QLineEdit(this);
  print->setGeometry(130,185,180,23);
  print->setText(defst->printcommand.data());

  label8 = new QLabel(this);
  label8->setGeometry(20,225,100,25);
  label8->setText(klocale->translate("Mail Command:"));

  mail = new QLineEdit(this);
  mail->setGeometry(130,225,180,23);
  mail->setText(defst->mailcommand.data());

  QGroupBox *gbox;

  gbox = new QGroupBox(this);
  gbox->setGeometry(150,105,160,65);

  check1 = new QCheckBox( klocale->translate("3d Frame"), gbox );
  check1->setGeometry( 10, 5, 100, 25 );
  check1->setChecked( defst->frame3d );
  connect( check1, SIGNAL( toggled( bool ) ), SLOT( frame3d_slot( bool ) ) );

  check2 = new QCheckBox( klocale->translate("Auto Indent"), gbox );
  check2->setGeometry( 10, 35, 130, 25 );
  check2->setChecked( defst->autoindent );
  connect( check2, SIGNAL( toggled( bool ) ), SLOT( indent_slot( bool ) ) );

  connect(parent,SIGNAL(applyButtonPressed()),SLOT(okButton()));

}
Beispiel #9
0
Wormsign::Wormsign(QWidget *parent, Qt::WFlags flags)
	: QWidget(parent, flags)
{

	appVersion = "2.0";


	//Populate Camera Options
	QMainWindow * mainWin = (QMainWindow *)this->window();
	mainWin->setWindowTitle("Wormsign " + appVersion + " - RealTime Larva Tracking - Questions: Gus Lott x4632");

	expAgent = NULL;

	int height = 1000;
	int width = 1000;
	setGeometry(50,50,width,height);
	setMinimumHeight(height); setMaximumHeight(height);
	setMinimumWidth(width); setMaximumWidth(width);
	//setAutoFillBackground(true);
	//setPalette(QColor(250,250,200));

	//File Menu saves/loads config states.
	

	//Create Preview Canvas for Camera
	camThread = NULL;
	canvas = new CamViewGL;
	canvas->gui = this;
	canvas->show();

	//HARDWARE INTERFACES
	//button to show/hide hardware interfaces
	showHideHW = new QPushButton("<< Hide Config",this);
	showHideHW->setGeometry(530,10,110,20); showHideHW->setCheckable(true);
	showHideHW->setPalette(QColor(200,200,200)); showHideHW->setChecked(true);
	connect(showHideHW,SIGNAL(clicked()),this,SLOT(hideHW()));

	//Create Camera Control Interface
		QStringList camStrList = CoreCamThread::listCams();

		QGroupBox * camControlBox = new QGroupBox("Camera Control",this);
		QFont fnt = camControlBox->font(); fnt.setBold(true); camControlBox->setFont(fnt);
		camControlBox->setGeometry(645,10,350,200);
		
		//pop-up list of available cameras
		camList = new QComboBox(camControlBox);
		camList->addItems(camStrList);
		camList->setGeometry(10,20,200,20);

		//connect toggle button
		camConnect = new QPushButton("Connect",camControlBox);
		camConnect->setGeometry(220,20,100,20);
		camConnect->setCheckable(true); camConnect->setPalette(QPalette(QColor(200,200,200)));
		connect(camConnect,SIGNAL(clicked()),this,SLOT(connectCamera()));

		//ROI, Brightness, Gain, Gamma, Shutter - disabled
		QLabel * roiLabel = new QLabel("ROI (xywh):",camControlBox);
		roiLabel->setFont(fnt);
		roiLabel->setGeometry(10,50,70,20);
		for(int i=0; i<4; i++){
			roiBox[i] = new QSpinBox(camControlBox);
			roiBox[i]->setGeometry(10+80+ 65*i ,50,55,20);
			roiBox[i]->setEnabled(false);
		}
		
		QLabel * tempLabel;
		//Brightness
		tempLabel = new QLabel("Brightness: ",camControlBox); 
		brightBox = new QSpinBox(camControlBox); brightBox->setEnabled(false); 
		brightSlider = new QSlider(Qt::Horizontal,camControlBox); brightSlider->setEnabled(false);
		tempLabel->setGeometry(10,90,120,20); brightBox->setGeometry(110,90,70,20); brightSlider->setGeometry(190,90,150,20);
		//Link slider/box and connect prop update
		connect(brightBox,SIGNAL(valueChanged(int)),brightSlider,SLOT(setValue(int)));
		connect(brightSlider,SIGNAL(valueChanged(int)),brightBox,SLOT(setValue(int)));

		//Gain
		tempLabel = new QLabel("Gain: ",camControlBox); 
		gainBox = new QSpinBox(camControlBox); gainBox->setEnabled(false);
		gainSlider = new QSlider(Qt::Horizontal,camControlBox); gainSlider->setEnabled(false);
		tempLabel->setGeometry(10,110,120,20); gainBox->setGeometry(110,110,70,20); gainSlider->setGeometry(190,110,150,20);
		//Link slider/box and connect prop update
		connect(gainBox,SIGNAL(valueChanged(int)),gainSlider,SLOT(setValue(int)));
		connect(gainSlider,SIGNAL(valueChanged(int)),gainBox,SLOT(setValue(int)));
		
		//Gamma
		tempLabel = new QLabel("Gamma: ",camControlBox); 
		gammaBox = new QSpinBox(camControlBox); gammaBox->setEnabled(false);
		gammaSlider = new QSlider(Qt::Horizontal,camControlBox); gammaSlider->setEnabled(false);
		tempLabel->setGeometry(10,130,120,20); gammaBox->setGeometry(110,130,70,20); gammaSlider->setGeometry(190,130,150,20);
		//Link slider/box and connect prop update
		connect(gammaBox,SIGNAL(valueChanged(int)),gammaSlider,SLOT(setValue(int)));
		connect(gammaSlider,SIGNAL(valueChanged(int)),gammaBox,SLOT(setValue(int)));
				
		//Shutter
		shutLabel = new QLabel("Shutter (x ms): ",camControlBox); 
		shutterBox = new QSpinBox(camControlBox); shutterBox->setEnabled(false);
		shutterSlider = new QSlider(Qt::Horizontal,camControlBox); shutterSlider->setEnabled(false);
		shutLabel->setGeometry(10,150,120,20); shutterBox->setGeometry(110,150,70,20); shutterSlider->setGeometry(190,150,150,20);
		//Link slider/box and connect prop update
		connect(shutterBox,SIGNAL(valueChanged(int)),shutterSlider,SLOT(setValue(int)));
		connect(shutterSlider,SIGNAL(valueChanged(int)),shutterBox,SLOT(setValue(int)));
		
		frameInt = new QLabel("Measured Frame Interval: ",camControlBox);
		frameInt->setGeometry(10,175,200,20);
		QPalette palette = frameInt->palette();
		palette.setColor(frameInt->foregroundRole(), QColor(200,0,0));
		frameInt->setPalette(palette);

			
	//Create Network Connection Control interface, to biorules app
		//Connection to Eric Trautman's Biorules Application
		biorulesConnection = new BiorulesConnect();

		//Panel
		QGroupBox * netPanel = new QGroupBox("BioRules Network Connection",this);
		netPanel->setFont(fnt);
		netPanel->setGeometry(645,230,350,70);

		//IP/Port Controls & Connect Button
		tempLabel = new QLabel("IP:",netPanel);
		tempLabel->setGeometry(10,20,30,20);
		ipText = new QLineEdit(biorulesConnection->ip,netPanel);
		ipText->setGeometry(40,20,150,20);

		tempLabel = new QLabel("Port:",netPanel);
		tempLabel->setGeometry(10,40,40,20);
		portText = new QLineEdit(QString().sprintf("%d",biorulesConnection->port),netPanel);
		portText->setGeometry(40,40,50,20); portText->setEnabled(false);

		netConnect = new QPushButton("Connect",netPanel);
		netConnect->setGeometry(220,20,100,20); netConnect->setFont(fnt);
		netConnect->setCheckable(true); netConnect->setPalette(QColor(200,200,200));
		
		connect(netConnect,SIGNAL(clicked()),this,SLOT(connectBioRules()));
	
		

	//Create Stage Control Serial Connection Interface
		stageThread = new StageThread(this);
		stageThread->biorulesConnection = biorulesConnection;
		connect(stageThread,SIGNAL(posUpdate()),this,SLOT(update()));

		//Panel
		QGroupBox * stagePanel = new QGroupBox("Zaber Stage Serial Interface",this);
		stagePanel->setFont(fnt);
		stagePanel->setGeometry(645,310,350,120);

		tempLabel = new QLabel("Port:",stagePanel);
		tempLabel->setGeometry(10,20,30,20);
		
		stageComList = new QComboBox(stagePanel);
		QStringList comStrList = stageThread->enumeratePorts();  //Scan for available serial ports
		stageComList->insertItems(0,comStrList);
		for(int i=0; i<comStrList.size(); i++)
			if(comStrList[i] == stageThread->comName) stageComList->setCurrentIndex(i);
		stageComList->setGeometry(40,20,100,20);

		stageConnect = new QPushButton("Connect",stagePanel);
		stageConnect->setGeometry(220,20,100,20); stageConnect->setFont(fnt);
		stageConnect->setCheckable(true); stageConnect->setPalette(QColor(200,200,200));
		
		connect(stageConnect,SIGNAL(clicked()),this,SLOT(connectStage()));

		stageX = new QLabel(stagePanel);
		stageX->setGeometry(10,45,150,20);
		stageY = new QLabel(stagePanel);
		stageY->setGeometry(170,45,150,20);

		tempLabel = new QLabel("Velocity (0-4800): ",stagePanel);
		tempLabel->setGeometry(10,70,120,20);
		stageVel = new QSpinBox(stagePanel);
		stageVel->setGeometry(130,70,100,20); stageVel->setEnabled(false); stageVel->setValue(0);
		stageVel->setMinimum(0); stageVel->setMaximum(10000);

		tempLabel = new QLabel("Acceleration: ",stagePanel);
		tempLabel->setGeometry(10,90,120,20);
		stageAccel = new QSpinBox(stagePanel);
		stageAccel->setGeometry(130,90,100,20); stageAccel->setEnabled(false); stageAccel->setValue(0);
		stageAccel->setMinimum(0); stageAccel->setMaximum(10000);

	//Create Stimulus Control Serial Connection Interface, frame rate, intensity, manual stim

		stimThread = new StimThread(this);
		//Panel
		QGroupBox * stimPanel = new QGroupBox("PhotoStim + Trigger System",this);
		stimPanel->setFont(fnt);
		stimPanel->setGeometry(645,440,350,50);

		tempLabel = new QLabel("Port:",stimPanel);
		tempLabel->setGeometry(10,20,30,20);
		
		stimComList = new QComboBox(stimPanel);
		stimComList->insertItems(0,comStrList);
		for(int i=0; i<comStrList.size(); i++)
			if(comStrList[i] == stimThread->comName) stimComList->setCurrentIndex(i);
		stimComList->setGeometry(40,20,100,20);

		stimConnect = new QPushButton("Connect",stimPanel);
		stimConnect->setGeometry(220,20,100,20); stimConnect->setFont(fnt);
		stimConnect->setCheckable(true); stimConnect->setPalette(QColor(200,200,200));
		
		connect(stimConnect,SIGNAL(clicked()),this,SLOT(connectStim()));
		
		

		

	//Experiment Controls, start/stop, log, file names
		QGroupBox * expPanel = new QGroupBox("Experiment Control",this);
		expPanel->setFont(fnt);
		expPanel->setGeometry(645,500,350,160);

		fnt.setBold(false);
		dirSelect = new QPushButton("Browse...",expPanel);
		dirSelect->setGeometry(10,20,70,20); dirSelect->setFont(fnt);

		connect(dirSelect,SIGNAL(clicked()),this,SLOT(selectDir()));

		dirOpen = new QPushButton("Open Dir",expPanel);
		dirOpen->setGeometry(10,45,70,20); dirOpen->setFont(fnt);

		connect(dirOpen,SIGNAL(clicked()),this,SLOT(openDir()));


		expLoc.setFile("C:\\Data\\");
		
		expDirectory = new QLabel(expLoc.path(),expPanel);
		expDirectory->setGeometry(85,20,330,20); 
		expDirectory->setFont(fnt); 
		
		dataLog = new QCheckBox("Log Analysis Results and Stimuli",expPanel);
		dataLog->setGeometry(85,45,200,20); dataLog->setChecked(true);
		vidLog = new QCheckBox("Log Grayscale Video",expPanel);
		vidLog->setGeometry(85,65,200,20); vidLog->setChecked(true);
		markupLog = new QCheckBox("Log Video with Annotation",expPanel);
		markupLog->setGeometry(85,85,200,20); markupLog->setChecked(false);


		//list for available rules (including none) - from biorulesConnection
		tempLabel = new QLabel("BioRule:",expPanel);
		tempLabel->setGeometry(10,110,75,20);
		bioRuleList = new QComboBox(expPanel);
		bioRuleList->setGeometry(85,110,200,20);
		//bioRuleList->insertItem(0,QString("NONE"));
		
		tempLabel = new QLabel("Frame Trigger Interval (ms):",expPanel);
		tempLabel->setGeometry(10,135,180,20);
		frameIntIn = new QSpinBox(expPanel);
		frameIntIn->setGeometry(180,135,50,20); frameIntIn->setValue(33);
		frameIntIn->setRange(10,50);

		fnt.setBold(true);

	//Start/Stop Button and Experiment Ellapsed Time
	fnt.setPointSize(17);
	startStop = new QPushButton("START",this);
	startStop->setGeometry(500,950,120,40); startStop->setCheckable(true); startStop->setEnabled(false);
	startStop->setFont(fnt); startStop->setAutoFillBackground(true); startStop->setPalette(QPalette(QColor(200,0,0)));
	expTime = new QLabel("0:00:00",this);
	expTime->setGeometry(400,950,100,40);
	expTime->setFont(fnt);

	connect(startStop,SIGNAL(clicked()),this,SLOT(startStopExperiment()));


	//DATA PLOTS

	//Algorithm Performance Widget
	perfGraph = new PerformanceGraph(this);
	perfGraph->setGeometry(645,670,350,320);

	//Data Visualization - widget drawing plots of results 
	plots.resize(4);
	for(int i=0; i<4; i++){
		plots[i] = new DataPlot(this);
		plots[i]->setGeometry(10,20+240*i,300,230);
		plots[i]->parameterList->setCurrentIndex(i);
	}

	//Global Arena Trajectory - widget drawing history of animal track - clear history button
	arenaTrack = new ArenaTrack(this);
	arenaTrack->setGeometry(320,40,310,300);
	connect(bioRuleList,SIGNAL(currentIndexChanged(int)),arenaTrack,SLOT(update()));

	//Behavior mode visualization (i.e. stopped, forward, back, casting left, etc)
	behaviorModeView = new BehaviorModeView(this);
	behaviorModeView->setGeometry(320,360,310,300);

	//Manual controls
	manualControls = new ManualControls(this);
	manualControls->setGeometry(320,680,310,250);

	//check for default config in pwd and load it
}