void QvisLegacyStreamlinePlotWindow::CreateWindowContents() { QGridLayout *mainLayout = new QGridLayout(topLayout, 5, 2, 10, "mainLayout"); // Create the step length text field. mainLayout->addWidget(new QLabel(tr("Step length"), central, "stepLengthLabel"),0,0); stepLength = new QLineEdit(central, "stepLength"); connect(stepLength, SIGNAL(returnPressed()), this, SLOT(stepLengthProcessText())); mainLayout->addWidget(stepLength, 0,1); // Create the maximum time text field. mainLayout->addWidget(new QLabel(tr("Maximum steps"), central, "maxTimeLabel"),1,0); maxTime = new QLineEdit(central, "maxTime"); connect(maxTime, SIGNAL(returnPressed()), this, SLOT(maxTimeProcessText())); mainLayout->addWidget(maxTime, 1,1); // // Create a tab widget so we can split source type and appearance. // QTabWidget *tabs = new QTabWidget(central, "tabs"); mainLayout->addMultiCellWidget(tabs, 2,2,0,1); // // Create a tab for the streamline source widgets. // QGroupBox *topPageSource = new QGroupBox(central, "topPageSource"); topPageSource->setFrameStyle(QFrame::NoFrame); tabs->addTab(topPageSource, tr("Streamline source")); QVBoxLayout *topSourceLayout = new QVBoxLayout(topPageSource); topSourceLayout->setMargin(10); topSourceLayout->setSpacing(5); // Create the source type combo box. QHBoxLayout *hLayout = new QHBoxLayout(topSourceLayout); hLayout->addWidget(new QLabel(tr("Source type"), topPageSource, "sourceTypeLabel")); sourceType = new QComboBox(topPageSource, "sourceType"); sourceType->insertItem(tr("Point")); sourceType->insertItem(tr("Line")); sourceType->insertItem(tr("Plane")); sourceType->insertItem(tr("Sphere")); sourceType->insertItem(tr("Box")); connect(sourceType, SIGNAL(activated(int)), this, SLOT(sourceTypeChanged(int))); hLayout->addWidget(sourceType, 10); topSourceLayout->addSpacing(5); // Create a group box for the source attributes. QGroupBox *pageSource = new QGroupBox(topPageSource, "pageSource"); sourceAtts = pageSource; sourceAtts->setTitle(tr("Point")); topSourceLayout->addWidget(pageSource); topSourceLayout->addStretch(5); QVBoxLayout *svLayout = new QVBoxLayout(pageSource, 10, 2); svLayout->addSpacing(10); QGridLayout *sLayout = new QGridLayout(svLayout, 16, 2); // sLayout->setMargin(10); sLayout->setSpacing(5); // Create the widgets that specify a point source. pointSource = new QLineEdit(pageSource, "pointSource"); connect(pointSource, SIGNAL(returnPressed()), this, SLOT(pointSourceProcessText())); pointSourceLabel = new QLabel(pointSource, tr("Location"), pageSource, "pointSourceLabel"); sLayout->addWidget(pointSourceLabel, 3, 0); sLayout->addWidget(pointSource, 3,1); // Create the widgets that specify a line source. lineStart = new QLineEdit(pageSource, "lineStart"); connect(lineStart, SIGNAL(returnPressed()), this, SLOT(lineStartProcessText())); lineStartLabel = new QLabel(lineStart, tr("Start"), pageSource, "lineStartLabel"); sLayout->addWidget(lineStartLabel,4,0); sLayout->addWidget(lineStart, 4,1); lineEnd = new QLineEdit(pageSource, "lineEnd"); connect(lineEnd, SIGNAL(returnPressed()), this, SLOT(lineEndProcessText())); lineEndLabel = new QLabel(lineEnd, tr("End"), pageSource, "lineEndLabel"); sLayout->addWidget(lineEndLabel,5,0); sLayout->addWidget(lineEnd, 5,1); // Create the widgets that specify a plane source. planeOrigin = new QLineEdit(pageSource, "planeOrigin"); connect(planeOrigin, SIGNAL(returnPressed()), this, SLOT(planeOriginProcessText())); planeOriginLabel = new QLabel(planeOrigin, tr("Origin"), pageSource, "planeOriginLabel"); sLayout->addWidget(planeOriginLabel,6,0); sLayout->addWidget(planeOrigin, 6,1); planeNormal = new QLineEdit(pageSource, "planeNormal"); connect(planeNormal, SIGNAL(returnPressed()), this, SLOT(planeNormalProcessText())); planeNormalLabel = new QLabel(planeNormal, tr("Normal"), pageSource, "planeNormalLabel"); sLayout->addWidget(planeNormalLabel,7,0); sLayout->addWidget(planeNormal, 7,1); planeUpAxis = new QLineEdit(pageSource, "planeUpAxis"); connect(planeUpAxis, SIGNAL(returnPressed()), this, SLOT(planeUpAxisProcessText())); planeUpAxisLabel = new QLabel(planeUpAxis, tr("Up axis"), pageSource, "planeUpAxisLabel"); sLayout->addWidget(planeUpAxisLabel,8,0); sLayout->addWidget(planeUpAxis, 8,1); planeRadius = new QLineEdit(pageSource, "planeRadius"); connect(planeRadius, SIGNAL(returnPressed()), this, SLOT(planeRadiusProcessText())); planeRadiusLabel = new QLabel(planeRadius, tr("Radius"), pageSource, "planeRadiusLabel"); sLayout->addWidget(planeRadiusLabel,9,0); sLayout->addWidget(planeRadius, 9,1); // Create the widgets that specify a sphere source. sphereOrigin = new QLineEdit(pageSource, "sphereOrigin"); connect(sphereOrigin, SIGNAL(returnPressed()), this, SLOT(sphereOriginProcessText())); sphereOriginLabel = new QLabel(sphereOrigin, tr("Origin"), pageSource, "sphereOriginLabel"); sLayout->addWidget(sphereOriginLabel,10,0); sLayout->addWidget(sphereOrigin, 10,1); sphereRadius = new QLineEdit(pageSource, "sphereRadius"); connect(sphereRadius, SIGNAL(returnPressed()), this, SLOT(sphereRadiusProcessText())); sphereRadiusLabel = new QLabel(sphereRadius, tr("Radius"), pageSource, "sphereRadiusLabel"); sLayout->addWidget(sphereRadiusLabel,11,0); sLayout->addWidget(sphereRadius, 11,1); // Create the widgets that specify a box source useWholeBox = new QCheckBox(tr("Whole data set"), pageSource, "useWholeBox"); connect(useWholeBox, SIGNAL(toggled(bool)), this, SLOT(useWholeBoxChanged(bool))); sLayout->addWidget(useWholeBox, 12, 0); boxExtents[0] = new QLineEdit(pageSource, "boxExtents[0]"); connect(boxExtents[0], SIGNAL(returnPressed()), this, SLOT(boxExtentsProcessText())); boxExtentsLabel[0] = new QLabel(boxExtents[0], tr("X Extents"), pageSource, "boxExtentsLabel[0]"); sLayout->addWidget(boxExtentsLabel[0], 13, 0); sLayout->addWidget(boxExtents[0], 13, 1); boxExtents[1] = new QLineEdit(pageSource, "boxExtents[1]"); connect(boxExtents[1], SIGNAL(returnPressed()), this, SLOT(boxExtentsProcessText())); boxExtentsLabel[1] = new QLabel(boxExtents[1], tr("Y Extents"), pageSource, "boxExtentsLabel[1]"); sLayout->addWidget(boxExtentsLabel[1], 14, 0); sLayout->addWidget(boxExtents[1], 14, 1); boxExtents[2] = new QLineEdit(pageSource, "boxExtents[2]"); connect(boxExtents[2], SIGNAL(returnPressed()), this, SLOT(boxExtentsProcessText())); boxExtentsLabel[2] = new QLabel(boxExtents[2], tr("Z Extents"), pageSource, "boxExtentsLabel[2]"); sLayout->addWidget(boxExtentsLabel[2], 15, 0); sLayout->addWidget(boxExtents[2], 15, 1); // // Create appearance-related widgets. // QGroupBox *pageAppearance = new QGroupBox(central, "pageAppearance"); pageAppearance->setFrameStyle(QFrame::NoFrame); tabs->addTab(pageAppearance, tr("Appearance")); QGridLayout *aLayout = new QGridLayout(pageAppearance, 7, 2); aLayout->setMargin(10); aLayout->setSpacing(5); // Create widgets that help determine the appearance of the streamlines. displayMethod = new QComboBox(pageAppearance, "displayMethod"); displayMethod->insertItem(tr("Lines"), 0); displayMethod->insertItem(tr("Tubes"), 1); displayMethod->insertItem(tr("Ribbons"), 2); connect(displayMethod, SIGNAL(activated(int)), this, SLOT(displayMethodChanged(int))); aLayout->addWidget(new QLabel(displayMethod, tr("Display as"), pageAppearance, "displayMethodLabel"), 0,0); aLayout->addWidget(displayMethod, 0,1); showStart = new QCheckBox(tr("Show start"), pageAppearance, "showStart"); connect(showStart, SIGNAL(toggled(bool)), this, SLOT(showStartChanged(bool))); aLayout->addWidget(showStart, 1,1); radius = new QLineEdit(pageAppearance, "radius"); connect(radius, SIGNAL(returnPressed()), this, SLOT(radiusProcessText())); radiusLabel = new QLabel(radius, tr("Radius"), pageAppearance, "radiusLabel"); QToolTip::add(radiusLabel, tr("Radius used for tubes and ribbons.")); aLayout->addWidget(radiusLabel,2,0); aLayout->addWidget(radius, 2,1); lineWidth = new QvisLineWidthWidget(0, pageAppearance, "lineWidth"); connect(lineWidth, SIGNAL(lineWidthChanged(int)), this, SLOT(lineWidthChanged(int))); lineWidthLabel = new QLabel(lineWidth, tr("Line width"), pageAppearance, "lineWidthLabel"); aLayout->addWidget(lineWidthLabel,3,0); aLayout->addWidget(lineWidth, 3,1); coloringMethod = new QComboBox(pageAppearance, "coloringMethod"); coloringMethod->insertItem(tr("Solid"),0); coloringMethod->insertItem(tr("Speed"),1); coloringMethod->insertItem(tr("Vorticity magnitude"),2); connect(coloringMethod, SIGNAL(activated(int)), this, SLOT(coloringMethodChanged(int))); aLayout->addWidget(new QLabel(coloringMethod, tr("Color by"), pageAppearance, "colorbylabel"), 4,0); aLayout->addWidget(coloringMethod, 4,1); colorTableName = new QvisColorTableButton(pageAppearance, "colorTableName"); connect(colorTableName, SIGNAL(selectedColorTable(bool, const QString&)), this, SLOT(colorTableNameChanged(bool, const QString&))); colorTableNameLabel = new QLabel(colorTableName, tr("Color table"), pageAppearance, "colorTableNameLabel"); aLayout->addWidget(colorTableNameLabel,5,0); aLayout->addWidget(colorTableName, 5,1, Qt::AlignLeft); singleColor = new QvisColorButton(pageAppearance, "singleColor"); connect(singleColor, SIGNAL(selectedColor(const QColor&)), this, SLOT(singleColorChanged(const QColor&))); singleColorLabel = new QLabel(singleColor, tr("Single color"), pageAppearance, "singleColorLabel"); aLayout->addWidget(singleColorLabel,6,0); aLayout->addWidget(singleColor, 6,1, Qt::AlignLeft); // // Create the widget that lets the user set the point density. // mainLayout->addWidget(new QLabel(tr("Point density"), central, "pointDensityLabel"),3,0); pointDensity = new QSpinBox(1, 30, 1, central, "pointDensity"); connect(pointDensity, SIGNAL(valueChanged(int)), this, SLOT(pointDensityChanged(int))); mainLayout->addWidget(pointDensity, 3,1); //Create the direction of integration. mainLayout->addWidget(new QLabel(tr("Streamline direction"), central, "streamlineDirectionLabel"),4,0); directionType = new QComboBox(central, "directionType"); directionType->insertItem(tr("Forward")); directionType->insertItem(tr("Backward")); directionType->insertItem(tr("Both")); connect(directionType, SIGNAL(activated(int)), this, SLOT(directionTypeChanged(int))); mainLayout->addWidget(directionType, 4,1); legendFlag = new QCheckBox(tr("Legend"), central, "legendFlag"); connect(legendFlag, SIGNAL(toggled(bool)), this, SLOT(legendFlagChanged(bool))); mainLayout->addWidget(legendFlag, 5,0); lightingFlag = new QCheckBox(tr("Lighting"), central, "lightingFlag"); connect(lightingFlag, SIGNAL(toggled(bool)), this, SLOT(lightingFlagChanged(bool))); mainLayout->addWidget(lightingFlag, 5,1); }