Files
src_old/visit_plugins/operators/RandomSample/QvisH5PartRandomSampleWindow.C
T

200 lines
4.7 KiB
C++

#include "QvisH5PartRandomSampleWindow.h"
#include <H5PartRandomSampleAttributes.h>
#include <ViewerProxy.h>
#include <qcheckbox.h>
#include <qlabel.h>
#include <qlayout.h>
#include <qlineedit.h>
#include <qspinbox.h>
#include <qvbox.h>
#include <qbuttongroup.h>
#include <qradiobutton.h>
#include <QvisColorTableButton.h>
#include <QvisOpacitySlider.h>
#include <QvisColorButton.h>
#include <QvisLineStyleWidget.h>
#include <QvisLineWidthWidget.h>
#include <QvisVariableButton.h>
#include <stdio.h>
#include <string>
using std::string;
// ****************************************************************************
// Method: QvisH5PartRandomSampleWindow::QvisH5PartRandomSampleWindow
//
// Purpose:
// Constructor
//
// Programmer: xml2window
// Creation: Thu Mar 16 10:26:55 PDT 2006
//
// Modifications:
//
// ****************************************************************************
QvisH5PartRandomSampleWindow::QvisH5PartRandomSampleWindow(const int type,
H5PartRandomSampleAttributes *subj,
const char *caption,
const char *shortName,
QvisNotepadArea *notepad)
: QvisOperatorWindow(type,subj, caption, shortName, notepad)
{
atts = subj;
}
// ****************************************************************************
// Method: QvisH5PartRandomSampleWindow::~QvisH5PartRandomSampleWindow
//
// Purpose:
// Destructor
//
// Programmer: xml2window
// Creation: Thu Mar 16 10:26:55 PDT 2006
//
// Modifications:
//
// ****************************************************************************
QvisH5PartRandomSampleWindow::~QvisH5PartRandomSampleWindow()
{
}
// ****************************************************************************
// Method: QvisH5PartRandomSampleWindow::CreateWindowContents
//
// Purpose:
// Creates the widgets for the window.
//
// Programmer: xml2window
// Creation: Thu Mar 16 10:26:55 PDT 2006
//
// Modifications:
//
// ****************************************************************************
void
QvisH5PartRandomSampleWindow::CreateWindowContents()
{
QGridLayout *mainLayout = new QGridLayout(topLayout, 1,2, 10, "mainLayout");
factorLabel = new QLabel("factor", central, "factorLabel");
mainLayout->addWidget(factorLabel,0,0);
factor = new QLineEdit(central, "factor");
connect(factor, SIGNAL(returnPressed()),
this, SLOT(factorProcessText()));
mainLayout->addWidget(factor, 0,1);
}
// ****************************************************************************
// Method: QvisH5PartRandomSampleWindow::UpdateWindow
//
// Purpose:
// Updates the widgets in the window when the subject changes.
//
// Programmer: xml2window
// Creation: Thu Mar 16 10:26:55 PDT 2006
//
// Modifications:
//
// ****************************************************************************
void
QvisH5PartRandomSampleWindow::UpdateWindow(bool doAll)
{
QString temp;
double r;
for(int i = 0; i < atts->NumAttributes(); ++i)
{
if(!doAll)
{
if(!atts->IsSelected(i))
{
continue;
}
}
const double *dptr;
const float *fptr;
const int *iptr;
const char *cptr;
const unsigned char *uptr;
const string *sptr;
QColor tempcolor;
switch(i)
{
case 0: //factor
temp.setNum(atts->GetFactor());
factor->setText(temp);
break;
}
}
}
// ****************************************************************************
// Method: QvisH5PartRandomSampleWindow::GetCurrentValues
//
// Purpose:
// Gets values from certain widgets and stores them in the subject.
//
// Programmer: xml2window
// Creation: Thu Mar 16 10:26:55 PDT 2006
//
// Modifications:
//
// ****************************************************************************
void
QvisH5PartRandomSampleWindow::GetCurrentValues(int which_widget)
{
bool okay, doAll = (which_widget == -1);
QString msg, temp;
// Do factor
if(which_widget == 0 || doAll)
{
temp = factor->displayText().simplifyWhiteSpace();
okay = !temp.isEmpty();
if(okay)
{
float val = temp.toFloat(&okay);
atts->SetFactor(val);
}
if(!okay)
{
msg.sprintf("The value of factor was invalid. "
"Resetting to the last good value of %g.",
atts->GetFactor());
Message(msg);
atts->SetFactor(atts->GetFactor());
}
}
}
//
// Qt Slot functions
//
void
QvisH5PartRandomSampleWindow::factorProcessText()
{
GetCurrentValues(0);
Apply();
}