コード例 #1
0
ファイル: AddDatabase.cpp プロジェクト: nmcle/baduK
//--------------------------------------------------------------------------
// PROGRESS PAGE
//--------------------------------------------------------------------------
ProgressPage::ProgressPage(AddDatabase* addDatabase, QWidget* parent) : QWidget(parent)
{
  addDatabase_ = addDatabase;
  labelInitializeGames = new QLabel("Initialize Games");
  labelDuplicateCheck = new QLabel("Duplicate Check");
  labelParseGames = new QLabel("Parsing Games");
  labelInitializePatterns = new QLabel("Generating Patterns");
  labelOverall = new QLabel("Overall");
  labelInitializeGames->setMaximumHeight(20);
  labelDuplicateCheck->setMaximumHeight(20);
  labelParseGames->setMaximumHeight(20);
  labelInitializePatterns->setMaximumHeight(20);
  labelOverall->setMaximumHeight(20);
  
  labelCurrentTime = new QLabel("Elapsed time");
  labelEstimateTime = new QLabel("Estimated time");
  labelTotalGames = new QLabel("Number of Games found");
  labelDuplicateGames = new QLabel("Duplicate Games found");
  
  labelCurrentTime->setMaximumHeight(20);
  labelEstimateTime->setMaximumHeight(20);
  labelTotalGames->setMaximumHeight(20);
  labelDuplicateGames->setMaximumHeight(20);
  
  labelCurrentTimeData = new QLabel;
  labelEstimateTimeData = new QLabel;
  labelTotalGamesData = new QLabel;
  labelDuplicateGamesData = new QLabel;
    
  labelCurrentTimeData->setMaximumHeight(20);
  labelEstimateTimeData->setMaximumHeight(20);
  labelTotalGamesData->setMaximumHeight(20);
  labelDuplicateGamesData->setMaximumHeight(20);
  
  progressBarInitializeGames = new QProgressBar;
  progressBarDuplicateCheck = new QProgressBar;
  progressBarParseGames = new QProgressBar;
  progressBarInitializePatterns = new QProgressBar;
  progressBarInitializeGames->setMaximumHeight(20);
  progressBarDuplicateCheck->setMaximumHeight(20);
  progressBarParseGames->setMaximumHeight(20);
  progressBarInitializePatterns->setMaximumHeight(20);
  
  cancelButton = new QPushButton("&Cancel", this);
  backButton = new QPushButton("< &Back", this);
  finishButton = new QPushButton("&Finish", this);
  
  QGridLayout *layout = new QGridLayout;
  
  QGroupBox *groupBoxProgress = new QGroupBox(tr("Progress"));
  QGridLayout *gridLayoutProgress = new QGridLayout;
  gridLayoutProgress->addWidget(labelInitializeGames, 0, 0);
  gridLayoutProgress->addWidget(progressBarInitializeGames, 0, 1, 1, 2);
  gridLayoutProgress->addWidget(labelDuplicateCheck, 1, 0);
  gridLayoutProgress->addWidget(progressBarDuplicateCheck, 1, 1, 1, 2);
  gridLayoutProgress->addWidget(labelParseGames, 2, 0);
  gridLayoutProgress->addWidget(progressBarParseGames, 2, 1, 1, 2);
  gridLayoutProgress->addWidget(labelInitializePatterns, 3, 0);
  gridLayoutProgress->addWidget(progressBarInitializePatterns, 3, 1, 1, 2);
  groupBoxProgress->setLayout(gridLayoutProgress);
  groupBoxProgress->setMaximumHeight(150);
  groupBoxProgress->setFlat(true);
  layout->addWidget(groupBoxProgress, 0, 0, 1, 3);
  
  QGroupBox *groupBoxDetails = new QGroupBox(tr("Details"));
  QGridLayout *gridLayoutDetails = new QGridLayout;
  gridLayoutDetails->addWidget(labelCurrentTime, 0, 0, 1, 2);
  gridLayoutDetails->addWidget(labelCurrentTimeData, 0, 2);
  gridLayoutDetails->addWidget(labelTotalGames, 2, 0, 1, 2);
  gridLayoutDetails->addWidget(labelTotalGamesData, 2, 2);
  gridLayoutDetails->addWidget(labelDuplicateGames, 3, 0, 1, 2);
  gridLayoutDetails->addWidget(labelDuplicateGamesData, 3, 2);
  groupBoxDetails->setLayout(gridLayoutDetails);
  groupBoxDetails->setFlat(true);
  groupBoxDetails->setMaximumHeight(100);
  layout->addWidget(groupBoxDetails, 1, 0 , 1, 3);
  
  QSpacerItem* spacerButtons = new QSpacerItem(0, 0);
  QGridLayout *layoutButtons = new QGridLayout;
  QSpacerItem* spacer = new QSpacerItem(0, 0);
  layoutButtons->addItem(spacer, 0, 0);
  layoutButtons->addWidget(cancelButton, 0, 1);
  layoutButtons->addWidget(backButton, 0, 2);
  layoutButtons->addWidget(finishButton, 0, 3);
  layoutButtons->setColumnStretch(0, 1);
  layout->addItem(spacerButtons, 2, 0, 1, 3);
  layout->addItem(layoutButtons, 3, 0, 1, 3);  
  layout->setOriginCorner(Qt::TopLeftCorner);
  
  layout->setColumnMinimumWidth(0,100);
  layout->setColumnMinimumWidth(1,100);
  layout->setColumnMinimumWidth(2,100);
  setLayout(layout);

  connect(cancelButton, SIGNAL(clicked()),
          this, SLOT(cancelClick()));
  connect(backButton, SIGNAL(clicked()),
          this, SLOT(backClick()));
  connect(finishButton, SIGNAL(clicked()),
          addDatabase_, SLOT(accept()));

  finishButton->setEnabled(false);
  hasCancelled_ = false;
  isBackClicked_ = false;
}
コード例 #2
0
void QGridLayoutProto::setOriginCorner(Qt::Corner corner)
{
  QGridLayout *item = qscriptvalue_cast<QGridLayout*>(thisObject());
  if (item)
    item->setOriginCorner(corner);
}
コード例 #3
0
ファイル: AddDatabase.cpp プロジェクト: nmcle/baduK
//--------------------------------------------------------------------------
// SETUP PAGE
//--------------------------------------------------------------------------
SetupPage::SetupPage(AddDatabase* addDatabase, QWidget* parent) : QWidget(parent)
{
  addDatabase_ = addDatabase;
  databaseNameLabel = new QLabel(tr("Choose Database &name:"));
  databaseNameLineEdit = new QLineEdit;
  databaseNameLabel->setBuddy(databaseNameLineEdit);
  setFocusProxy(databaseNameLineEdit);

  directoryNameLabel = new QLabel(tr("Select a Directory with Sgf's :"));
  dirModel = new QDirModel;
  dirModel->setFilter(QDir::Dirs);
  dirModel->setReadOnly(true);
  dirModel->setLazyChildCount(false);
  treeView = new QTreeView;
  treeView->setModel(dirModel);
  treeView->header()->resizeSection(0,200);
  treeView->setColumnHidden(0, false); // Show only dir name
  treeView->setColumnHidden(1, true); // Show only dir name
  treeView->setColumnHidden(2, true); // Not type, size, modified
  treeView->setColumnHidden(3, true);
  
  treeView->setCurrentIndex (dirModel->index(QDir::currentPath()));
  groupBox = new QGroupBox(tr("&Options"));
  recursiveDirCheckBox = new QCheckBox(tr("&Search directories recursively."));
  acceptDuplicatesCheckBox = new QCheckBox(tr("&Reject duplicates."));
  acceptDuplicatesCheckBox->setCheckState (Qt::Checked);

  QVBoxLayout *groupBoxLayout = new QVBoxLayout;
  groupBoxLayout->addWidget(recursiveDirCheckBox);
  groupBoxLayout->addWidget(acceptDuplicatesCheckBox);
  groupBox->setLayout(groupBoxLayout);

  cancelButton = new QPushButton("&Cancel", this);
  startButton = new QPushButton("&Start", this);

  QGridLayout *layout = new QGridLayout;
  layout->setRowMinimumHeight(0, 10);
  layout->addWidget(databaseNameLabel, 0, 0);
  layout->addWidget(databaseNameLineEdit, 0, 1);
  layout->addWidget(directoryNameLabel, 1, 0, 1, 2);
  layout->addWidget(treeView, 2, 0, 1, 2);
  layout->addWidget(groupBox, 3, 0, 1, 2);

  QSpacerItem* spacer = new QSpacerItem(50, 20);
  QGridLayout *layoutButtons = new QGridLayout;
  layoutButtons->addItem(spacer, 0, 0);
  layoutButtons->addWidget(cancelButton, 0, 1);
  layoutButtons->addWidget(startButton, 0, 2);
  layoutButtons->setColumnStretch(0, 1);
  layout->addItem(layoutButtons, 4, 0, 1, 2);
  
  layout->setOriginCorner(Qt::TopLeftCorner);
  setLayout(layout);
  
  connect(databaseNameLineEdit, SIGNAL(textChanged(const QString &)),
          this, SLOT(checkFirstPage()));
  connect(treeView, SIGNAL(clicked(const QModelIndex &)),
          this, SLOT(checkFirstPage()));
  connect(cancelButton, SIGNAL(clicked()),
          addDatabase_, SLOT(reject()));
  connect(startButton, SIGNAL(clicked()),
          this, SLOT(start()));
  
  startButton->setEnabled(false);  
}