Пример #1
0
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);

}
Пример #2
0
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()));
}