TesterTestPage::TesterTestPage (QWidget *p) : QWidget (p) { fieldList.append(tr("Open")); fieldList.append(tr("Close")); fieldList.append(tr("Mid Point")); Q3HBoxLayout *hbox = new Q3HBoxLayout(this); hbox->setMargin(5); hbox->setSpacing(10); // left side grid Q3GridLayout *grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // trades area tradeLong = new QCheckBox(tr("Long"), this); grid->addWidget(tradeLong, 0, 0); tradeShort = new QCheckBox(tr("Short"), this); grid->addWidget(tradeShort, 1, 0); QLabel *label = new QLabel(tr("Trade Delay"), this); grid->addWidget(label, 2, 0); tradeDelay = new QSpinBox(1, 999999, 1, this); tradeDelay->setValue(1); grid->addWidget(tradeDelay, 2, 1); grid->setRowSpacing(grid->numRows(), 25); // account area label = new QLabel(tr("Account Balance"), this); grid->addWidget(label, 4, 0); account = new QSpinBox(0, 999999, 1, this); account->setValue(10000); grid->addWidget(account, 4, 1); label = new QLabel(tr("Futures Margin"), this); grid->addWidget(label, 5, 0); margin = new QSpinBox(0, 999999, 1, this); grid->addWidget(margin, 5, 1); label = new QLabel(tr("Volume %"), this); grid->addWidget(label, 6, 0); volumePercent = new QSpinBox(0, 100, 1, this); grid->addWidget(volumePercent, 6, 1); grid->setRowSpacing(grid->numRows(), 25); // commission area commissionType = new QCheckBox(tr("Use Commission %"), this); grid->addWidget(commissionType, 8, 0); label = new QLabel(tr("Entry"), this); grid->addWidget(label, 9, 0); QDoubleValidator *dv = new QDoubleValidator(0, 99999999.0, 4, this, 0); entryCom = new QLineEdit(QString::number(10), this); entryCom->setValidator(dv); grid->addWidget(entryCom, 9, 1); label = new QLabel(tr("Exit"), this); grid->addWidget(label, 10, 0); QDoubleValidator *dv2 = new QDoubleValidator(0, 99999999.0, 4, this, 0); exitCom = new QLineEdit(QString::number(10), this); exitCom->setValidator(dv2); grid->addWidget(exitCom, 10, 1); grid->setRowStretch(grid->numRows() + 1, 1); // vline sperarator Q3Frame *line = new Q3Frame(this); line->setFrameStyle(Q3Frame::VLine | Q3Frame::Plain); hbox->addWidget(line); // right side grid grid = new Q3GridLayout(hbox); grid->setColStretch(1, 1); grid->setSpacing(5); // test area label = new QLabel(tr("Symbol"), this); grid->addWidget(label, 0, 0); Config config; QString s, s2; config.getData(Config::DataPath, s); symbolButton = new SymbolButton(this, s, s2); connect(symbolButton, SIGNAL(symbolChanged()), this, SLOT(symbolButtonPressed())); grid->addWidget(symbolButton, 0, 1); label = new QLabel(tr("Bar Length"), this); grid->addWidget(label, 1, 0); BarData bd(s); barLength = new QComboBox(this); bd.getBarLengthList(barLengthList); barLength->insertStringList(barLengthList, -1); barLength->setCurrentItem(6); grid->addWidget(barLength, 1, 1); label = new QLabel(tr("Bars"), this); grid->addWidget(label, 2, 0); bars = new QSpinBox(1, 99999999, 1, this); bars->setValue(275); grid->addWidget(bars, 2, 1); label = new QLabel(tr("Entry/Exit Price"), this); grid->addWidget(label, 3, 0); priceField = new QComboBox(this); priceField->insertStringList(fieldList,-1); grid->addWidget(priceField, 3, 1); grid->setRowStretch(grid->numRows() + 1, 1); }
void StocksDialog::createDetailsPage () { QWidget *w = new QWidget(this); Q3VBoxLayout *vbox = new Q3VBoxLayout(w); vbox->setMargin(5); vbox->setSpacing(5); Q3GridLayout *grid = new Q3GridLayout(vbox); grid->setMargin(0); grid->setSpacing(5); QLabel *label = new QLabel(tr("Symbol"), w); grid->addWidget(label, 0, 0); QString s; DBIndexItem item; index->getIndexItem(symbol, item); item.getSymbol(s); label = new QLabel(s, w); label->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); grid->addWidget(label, 0, 1); label = new QLabel(tr("Name"), w); grid->addWidget(label, 1, 0); item.getTitle(s); title = new QLineEdit(s, w); grid->addWidget(title, 1, 1); label = new QLabel(tr("Exchange"), w); grid->addWidget(label, 2, 0); item.getExchange(s); Exchange ex; ex.getExchange(s.toInt(), s); label = new QLabel(s, w); label->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); grid->addWidget(label, 2, 1); label = new QLabel(tr("Type"), w); grid->addWidget(label, 3, 0); item.getType(s); label = new QLabel(s, w); label->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); grid->addWidget(label, 3, 1); label = new QLabel(tr("First Date"), w); grid->addWidget(label, 4, 0); Bar bar; db->getFirstBar(bar); if (! bar.getEmptyFlag()) { bar.getDateTimeString(TRUE, s); label = new QLabel(s, w); label->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); grid->addWidget(label, 4, 1); } label = new QLabel(tr("Last Date"), w); grid->addWidget(label, 5, 0); Bar bar2; db->getLastBar(bar2); if (! bar2.getEmptyFlag()) { bar2.getDateTimeString(TRUE, s); label = new QLabel(s, w); label->setFrameStyle(Q3Frame::WinPanel | Q3Frame::Sunken); grid->addWidget(label, 5, 1); } grid->expand(grid->numRows() + 1, grid->numCols()); grid->setColStretch(1, 1); vbox->addStretch(1); addTab(w, tr("Details")); }