コード例 #1
0
NewProjectDialog::NewProjectDialog(QWidget *Parent):
  openfluid::ui::common::MessageDialog(Parent), ui(new Ui::NewProjectDialog),
  mp_DirectoryModel(new QFileSystemModel(this))
{
  ui->setupUi(this);

  setupMessageUi(tr("Creation of a new OpenFLUID project"));

  ui->WorkdirLabel->setText(QDir::toNativeSeparators(openfluid::base::PreferencesManager::instance()
                                                         ->getBuilderProjectsPath()));

  // "required" placeholder
  ui->NameEdit->setPlaceholderText(getPlaceholderRequired());

  connect(ui->WorkdirButton,SIGNAL(clicked()),this,SLOT(onWorkdirButtonClicked()));
  connect(ui->ProjectButton,SIGNAL(clicked()),this,SLOT(onProjectButtonClicked()));
  connect(ui->DatadirButton,SIGNAL(clicked()),this,SLOT(onDatadirButtonClicked()));

  connect(ui->NameEdit,SIGNAL(textEdited(const QString&)),this,SLOT(onGlobalCheck()));
  connect(ui->DataGroupBox,SIGNAL(toggled(bool)),this,SLOT(onGlobalCheck()));
  connect(ui->ProjectRadioButton,SIGNAL(toggled(bool)),this,SLOT(onGlobalCheck()));
  connect(ui->DirectoryRadioButton,SIGNAL(toggled(bool)),this,SLOT(onGlobalCheck()));


  ui->DataGroupBox->setChecked(false);

  ui->NameEdit->setFocus();

  onGlobalCheck();
}
コード例 #2
0
void AddDatastoreItemDialog::checkGlobal()
{
  // "required" placeholder
  QString PlaceholderStr = getPlaceholderRequired();

  openfluid::ui::common::fixLineEdit(ui->IDEdit);

  ui->UnitsClassEdit->setEnabled(ui->UnitsClassCheckBox->isChecked());
  if (ui->UnitsClassEdit->isEnabled())
    ui->UnitsClassEdit->setPlaceholderText(PlaceholderStr);
  else
    ui->UnitsClassEdit->setPlaceholderText("");

  ui->GeovectorEdit->setEnabled(ui->GeovectorRadioButton->isChecked());
  ui->GeovectorBrowseButton->setEnabled(ui->GeovectorRadioButton->isChecked());
  if (ui->GeovectorEdit->isEnabled())
    ui->GeovectorEdit->setPlaceholderText(PlaceholderStr);
  else
    ui->GeovectorEdit->setPlaceholderText("");

  ui->GeorasterEdit->setEnabled(ui->GeorasterRadioButton->isChecked());
  ui->GeorasterBrowseButton->setEnabled(ui->GeorasterRadioButton->isChecked());
  if (ui->GeorasterEdit->isEnabled())
    ui->GeorasterEdit->setPlaceholderText(PlaceholderStr);
  else
    ui->GeorasterEdit->setPlaceholderText("");

  ui->CopySubdirEdit->setEnabled(ui->CopySubdirRadioButton->isChecked());
  if (ui->CopySubdirEdit->isEnabled())
    ui->CopySubdirEdit->setPlaceholderText(PlaceholderStr);
  else
    ui->CopySubdirEdit->setPlaceholderText("");

  ui->DataDestGroupBox->setEnabled(!isSourceFileInInputDataset());


  if (ui->IDEdit->text().isEmpty())
    setMessage(tr("Item ID cannot be empty"));
  else if (m_ExistingIDs.contains(ui->IDEdit->text()))
    setMessage(tr("Item ID already exists"));
  else if (ui->UnitsClassCheckBox->isChecked() && ui->UnitsClassEdit->text().isEmpty())
    setMessage(tr("Units class cannot be empty"));
  else if (ui->GeovectorRadioButton->isChecked() && ui->GeovectorEdit->text().isEmpty())
    setMessage(tr("No geovector source file selected"));
  else if (ui->GeorasterRadioButton->isChecked() && ui->GeorasterEdit->text().isEmpty())
    setMessage(tr("No georaster source file selected"));
  else if (ui->CopySubdirRadioButton->isChecked() && ui->CopySubdirEdit->text().isEmpty())
    setMessage(tr("Subdirectory for data destination is empty"));
  else if (ui->CopySubdirRadioButton->isChecked() &&
           (ui->CopySubdirEdit->text().startsWith("/") || ui->CopySubdirEdit->text().startsWith("\\")))
    setMessage(tr("Wrong subdirectory name for data destination"));
  else
    setMessage();
}
コード例 #3
0
ファイル: AddUnitDialog.cpp プロジェクト: OpenFLUID/openfluid
AddUnitDialog::AddUnitDialog(QWidget* Parent):
  openfluid::ui::common::MessageDialog(Parent),ui(new Ui::AddUnitDialog)
{
  ui->setupUi(this);

  setupMessageUi("");

  QIntValidator* IDValidator = new QIntValidator(this);
  IDValidator->setBottom(0);

  ui->UnitIDEdit->setValidator(IDValidator);

  ui->UnitIDEdit->setPlaceholderText(getPlaceholderRequired());
}
コード例 #4
0
AddDatastoreItemDialog::AddDatastoreItemDialog(const QStringList& ExistingIDs, QWidget* Parent):
  openfluid::ui::common::OpenFLUIDDialog(Parent),ui(new(Ui::EditDatastoreItemDialog)),
  m_ExistingIDs(ExistingIDs)
{
  ui->setupUi(this);

  GDALAllRegister();
  OGRRegisterAll();

  m_OGRFormatsStr =
      openfluid::utils::getOGRGDALFormatsForQFileDialogs(openfluid::utils::getOGRFilesDriversForOpenFLUID(),
                                                         tr("All vector files"));

  m_GDALFormatsStr =
      openfluid::utils::getOGRGDALFormatsForQFileDialogs(openfluid::utils::getGDALFilesDriversForOpenFLUID(),
                                                         tr("All raster files"));

  setMessage();

  ui->StaticIDLabel->setVisible(false);
  ui->GeovectorRadioButton->setChecked(true);
  ui->CopyRadioButton->setChecked(true);

  connect(ui->IDEdit,SIGNAL(textEdited(const QString&)),this,SLOT(checkGlobal()));
  connect(ui->UnitsClassCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkGlobal()));
  connect(ui->UnitsClassEdit,SIGNAL(textEdited(const QString&)),this,SLOT(checkGlobal()));
  connect(ui->GeovectorRadioButton,SIGNAL(toggled(bool)),this,SLOT(checkGlobal()));
  connect(ui->GeorasterRadioButton,SIGNAL(toggled(bool)),this,SLOT(checkGlobal()));
  connect(ui->CopyRadioButton,SIGNAL(toggled(bool)),this,SLOT(checkGlobal()));
  connect(ui->CopySubdirRadioButton,SIGNAL(toggled(bool)),this,SLOT(checkGlobal()));
  connect(ui->CopySubdirEdit,SIGNAL(textEdited(const QString&)),this,SLOT(checkGlobal()));

  connect(ui->GeovectorBrowseButton,SIGNAL(clicked()),this,SLOT(selectVectorFile()));
  connect(ui->GeorasterBrowseButton,SIGNAL(clicked()),this,SLOT(selectRasterFile()));

  // completer for units classes
  openfluid::ui::common::ShortcutCompleter* Completer =
      new openfluid::ui::common::ShortcutCompleter(ProjectCentral::instance()->unitsClassesList(),this);
  Completer->linkToLineEdit(ui->UnitsClassEdit);

  connect(Completer,SIGNAL(activated(const QString&)),this,SLOT(checkGlobal()));

  ui->IDEdit->setPlaceholderText(getPlaceholderRequired());

  connect(ui->ButtonBox,SIGNAL(accepted()),this,SLOT(accept()));
  connect(ui->ButtonBox,SIGNAL(rejected()),this,SLOT(reject()));

  checkGlobal();
}
コード例 #5
0
AddGeneratorDialog::AddGeneratorDialog(QWidget* Parent) :
  openfluid::ui::common::OpenFLUIDDialog(Parent),ui(new Ui::AddGeneratorDialog)
{
  ui->setupUi(this);

  ui->MessageLabel->setText(tr("Add generator"));

  connect(ui->FixedRadioButton,SIGNAL(toggled(bool)),this,SLOT(switchGeneratorOptions()));
  connect(ui->RandomRadioButton,SIGNAL(toggled(bool)),this,SLOT(switchGeneratorOptions()));
  connect(ui->InterpRadioButton,SIGNAL(toggled(bool)),this,SLOT(switchGeneratorOptions()));
  connect(ui->InjectRadioButton,SIGNAL(toggled(bool)),this,SLOT(switchGeneratorOptions()));

  connect(ui->VectorRadioButton,SIGNAL(toggled(bool)),ui->VectorSpinBox,SLOT(setEnabled(bool)));

  connect(ui->VarNameEdit,SIGNAL(textEdited(const QString&)),this,SLOT(checkGlobal()));
  connect(ui->UnitsClassEdit,SIGNAL(textEdited(const QString&)),this,SLOT(checkGlobal()));

  connect(ui->SourcesBrowseButton,SIGNAL(clicked()),this,SLOT(selectSourcesFile()));
  connect(ui->DistriBrowseButton,SIGNAL(clicked()),this,SLOT(selectDistriFile()));

  connect(ui->ButtonBox,SIGNAL(accepted()),this,SLOT(accept()));
  connect(ui->ButtonBox,SIGNAL(rejected()),this,SLOT(reject()));

  switchGeneratorOptions();

  m_Method = openfluid::fluidx::GeneratorDescriptor::Fixed;

  ui->FixedRadioButton->setChecked(true);
  ui->DoubleRadioButton->setChecked(true);
  ui->VectorSpinBox->setEnabled(false);

  // "required" placeholder
  QString PlaceholderStr = getPlaceholderRequired();
  ui->UnitsClassEdit->setPlaceholderText(PlaceholderStr);
  ui->VarNameEdit->setPlaceholderText(PlaceholderStr);

  openfluid::ui::common::ShortcutCompleter* Completer =
      new openfluid::ui::common::ShortcutCompleter(ProjectCentral::instance()->unitsClassesList(),this);
  Completer->linkToLineEdit(ui->UnitsClassEdit);
  connect(Completer,SIGNAL(activated(const QString&)),this,SLOT(checkGlobal()));

  ui->VarNameEdit->setFocus();

  checkGlobal();
}