void GUIWidget::createGUI () { _timer = new QTimer(this); connect(_timer, SIGNAL(timeout()), this, SLOT(updateGUI())); QVBoxLayout *vbox = new QVBoxLayout; vbox->setSpacing(2); vbox->setMargin(5); setLayout(vbox); QHBoxLayout* form = new QHBoxLayout; form->setSpacing(2); form->setContentsMargins(15,0,0,0); vbox->addLayout(form); m_pAddRowButton = new QPushButton(); m_pAddRowButton->setText("Add Stock"); form->addWidget(m_pAddRowButton); form->addStretch(); connect(m_pAddRowButton, SIGNAL(clicked()), this, SLOT(addTableRow())); // log QGroupBox *gbox = new QGroupBox; vbox->addWidget(gbox); QHBoxLayout *tvbox = new QHBoxLayout; gbox->setLayout(tvbox); QSplitter* pSplitView = new QSplitter(); tvbox->addWidget(pSplitView); // Table m_pTableWidget = new QTableWidget(); m_pTableWidget->setColumnCount(5); m_pTableWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(m_pTableWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenuRequseted(QPoint))); QStringList stringList; stringList.append("Enabled"); stringList.append("Ticker"); stringList.append("Start Date"); stringList.append("End Date"); stringList.append("Last Update"); m_pTableWidget->setHorizontalHeaderLabels(stringList); m_pTableWidget->resize(10,m_pTableWidget->height()); m_pTableWidget->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); pSplitView->addWidget(m_pTableWidget); _log = new QTextEdit; _log->setReadOnly(TRUE); _log->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); pSplitView->addWidget(_log); // buttonbox QDialogButtonBox *bb = new QDialogButtonBox(QDialogButtonBox::Help); vbox->addWidget(bb); // ok button _okButton = bb->addButton(QDialogButtonBox::Ok); _okButton->setText(tr("&Download")); connect(_okButton, SIGNAL(clicked()), this, SLOT(downloadHistory())); // cancel button _cancelButton = bb->addButton(QDialogButtonBox::Cancel); _cancelButton->setText(tr("&Cancel")); _cancelButton->setDefault(true); _cancelButton->setFocus(); _cancelButton->setEnabled(false); }
void GUIWidget::createGUI () { _timer = new QTimer(this); connect(_timer, SIGNAL(timeout()), this, SLOT(updateGUI())); QVBoxLayout *vbox = new QVBoxLayout; vbox->setSpacing(2); vbox->setMargin(5); setLayout(vbox); QFormLayout *form = new QFormLayout; form->setSpacing(2); form->setMargin(0); vbox->addLayout(form); // templates _templates = new QComboBox; form->addRow (tr("Templates"), _templates); // range DateRange dr; _range = new QComboBox; _range->addItems(dr.list()); _range->setCurrentIndex(5); form->addRow (tr("Range"), _range); // symbol file _symbolButton = new FileButton(0); connect(_symbolButton, SIGNAL(signalSelectionChanged(QStringList)), this, SLOT(buttonStatus())); _symbolButton->setFiles(QStringList() << "/tmp/yahoo_symbols"); form->addRow (tr("Symbol File"), _symbolButton); // log QGroupBox *gbox = new QGroupBox; gbox->setTitle(tr("Log")); vbox->addWidget(gbox); QVBoxLayout *tvbox = new QVBoxLayout; gbox->setLayout(tvbox); _log = new QTextEdit; _log->setReadOnly(TRUE); tvbox->addWidget(_log); // buttonbox QDialogButtonBox *bb = new QDialogButtonBox(QDialogButtonBox::Help); vbox->addWidget(bb); // ok button _okButton = bb->addButton(QDialogButtonBox::Ok); _okButton->setText(tr("&OK")); connect(_okButton, SIGNAL(clicked()), this, SLOT(downloadHistory())); // cancel button _cancelButton = bb->addButton(QDialogButtonBox::Cancel); _cancelButton->setText(tr("&Cancel")); _cancelButton->setDefault(TRUE); _cancelButton->setFocus(); _cancelButton->setEnabled(FALSE); // help button QPushButton *b = bb->button(QDialogButtonBox::Help); b->setText(tr("&Help")); connect(b, SIGNAL(clicked()), this, SIGNAL(signalHelp())); }