17 const QString & CreateDir )
19 StatusBar ( nullptr ),
20 DirToCreate ( CreateDir ),
21 CreateToInclude ( Include )
25 connect ( SchemaButton, SIGNAL ( clicked() ),
this, SLOT (
DefineSchema() ),
26 Qt::UniqueConnection );
28 Qt::UniqueConnection );
32 connect ( CreateDatabaseButton, SIGNAL ( clicked() ),
this,
34 Qt::UniqueConnection );
35 connect ( CreateNoLoadDatabaseButton, SIGNAL ( clicked() ),
this,
40 connect ( CreateDatabaseButton, SIGNAL ( clicked() ),
this,
42 CreateDatabaseButton->setText (
"Create Database File" );
43 CreateNoLoadDatabaseButton->hide();
46 StatusBar =
new QStatusBar ( StatusFrame );
48 StatusFrame->setFrameStyle ( QFrame::NoFrame );
51 StatusBar->setAutoFillBackground (
true );
52 StatusBar->showMessage (
"Select schema files and define new database file!" );
53 CreateDatabaseButton->setDisabled (
true );
54 CreateNoLoadDatabaseButton->setDisabled (
true );
56 DatabaseName->setReadOnly (
true );
61 QString SchemaFilePath = QFileDialog::getOpenFileName (
this, tr (
"Open Schema File" ),
62 DirToCreate.append(
"./"),
63 tr (
"XML files (*.xml)" ) );
64 QFileInfo SchemaFile = QFileInfo ( SchemaFilePath );
66 if ( !SchemaFile.isFile() )
69 StatusBar->showMessage ( QString (
"The file is not accessible. Check before usage" ) );
73 if ( SchemaFile.fileName().contains (
"schema" ) ) SchemaCombo->addItem (
74 SchemaFile.absoluteFilePath() );
78 StatusBar->showMessage (
79 QString (
"The file %1 is not a schema file" ).arg ( SchemaFile.absoluteFilePath() ) );
88 if ( DirToCreate.isEmpty() )
90 Dir = QString (
"./NewDatabaseFile.data.xml" );
94 Dir = DirToCreate.append (
"/NewDatabaseFile.data.xml" );
97 QString DatabaseFilePath = QFileDialog::getSaveFileName (
this,
98 tr (
"Save to Database File" ),
100 tr (
"XML files (*.xml)" ) );
101 DatabaseFile = QFileInfo ( DatabaseFilePath );
103 DatabaseName->setText ( DatabaseFile.absoluteFilePath() );
104 CreateDatabaseButton->setEnabled (
true );
105 CreateNoLoadDatabaseButton->setEnabled (
true );
114 std::list<std::string> Includes;
116 for (
int i = 0; i < SchemaCombo->count(); ++i )
118 QString
Item = SchemaCombo->itemText ( i );
119 Includes.push_back (
Item.toStdString() );
122 const std::string DatabaseName = DatabaseFile.absoluteFilePath().toStdString();
123 db.
create ( DatabaseName, Includes );
126 QMessageBox::information (
128 QString (
"Database was created.\nNow the DB will be loaded into the Editor!\n" ),
130 emit CanLoadDatabase ( DatabaseFile.absoluteFilePath() );
133 catch ( dunedaq::conffwk::Exception
const & ex )
145 std::list<std::string> Includes;
147 for (
int i = 0; i < SchemaCombo->count(); ++i )
149 QString
Item = SchemaCombo->itemText ( i );
150 Includes.push_back (
Item.toStdString() );
153 const std::string DatabaseName = DatabaseFile.absoluteFilePath().toStdString();
154 db.
create ( DatabaseName, Includes );
157 QMessageBox::information ( 0, tr (
"DBE" ), QString (
"The Database was created.\n" ),
161 catch ( dunedaq::conffwk::Exception
const & ex )
173 std::list<std::string> Includes;
175 for (
int i = 0; i < SchemaCombo->count(); ++i )
177 QString
Item = SchemaCombo->itemText ( i );
178 Includes.push_back (
Item.toStdString() );
181 const std::string DatabaseName = DatabaseFile.absoluteFilePath().toStdString();
182 db.
create ( DatabaseName, Includes );
185 QMessageBox::information ( 0, tr (
"DBE" ), QString (
"The Database was created.\n" ),
187 emit CanIncludeDatabase ( DatabaseFile.absoluteFilePath() );
190 catch ( dunedaq::conffwk::Exception
const & ex )