326{
327 if (
ui->RelationshipNameLineEdit->text().isEmpty() )
328 {
329 QMessageBox::warning ( 0, "Schema editor",
330 QString ( "Please Provide a name for the relationship !" ) );
331 return;
332 }
333
334 QString RelationshipName =
ui->RelationshipNameLineEdit->text();
335 QString RelationshipType =
ui->RelationshipTypeComboBox->currentText();
336 QString RelationshipDescription =
ui->RelationshipDescriptionTextEdit->toPlainText();
337
338 bool IsComposite;
339
340 if (
ui->IsCompositeCombo->currentIndex() == 0 )
341 {
342 IsComposite = true;
343 }
344 else
345 {
346 IsComposite = false;
347 }
348
349 bool IsExclusive;
350
351 if (
ui->IsExclusiveCombo->currentIndex() == 0 )
352 {
353 IsExclusive = true;
354 }
355 else
356 {
357 IsExclusive = false;
358 }
359
360 bool IsDependent;
361
362 if (
ui->IsDependentCombo->currentIndex() == 0 )
363 {
364 IsDependent = true;
365 }
366 else
367 {
368 IsDependent = false;
369 }
370
373
374 if (
ui->HighCcCombo->currentIndex() == 0 ) RelationshipHighCardinality =
375 OksRelationship::CardinalityConstraint::Zero;
376 else if (
ui->HighCcCombo->currentIndex() == 1 ) RelationshipHighCardinality =
377 OksRelationship::CardinalityConstraint::One;
378 else
379 {
380 RelationshipHighCardinality = OksRelationship::CardinalityConstraint::Many;
381 }
382
383 if (
ui->LowCcCombo->currentIndex() == 0 ) RelationshipLowCardinality =
384 OksRelationship::CardinalityConstraint::Zero;
385 else if (
ui->LowCcCombo->currentIndex() == 1 ) RelationshipLowCardinality =
386 OksRelationship::CardinalityConstraint::One;
387 else
388 {
389 RelationshipLowCardinality = OksRelationship::CardinalityConstraint::Many;
390 }
391
393 RelationshipName.toStdString(),
394 RelationshipDescription.toStdString(),
395 RelationshipType.toStdString(),
396 IsComposite, IsExclusive, IsDependent,
397 RelationshipLowCardinality,
398 RelationshipHighCardinality );
400
403 ui->RelationshipTypeComboBox->currentText(),
404 RelationshipName );
405
406 close();
407}
void PushAddRelationship(dunedaq::oks::OksClass *Class, std::string Name, std::string Description, std::string Type, bool Composite, bool Exclusive, bool Dependent, dunedaq::oks::OksRelationship::CardinalityConstraint LowCc, dunedaq::oks::OksRelationship::CardinalityConstraint HighCc)
void MakeGraphConnection(QString ClassName1, QString ClassName2, QString RelationshipName)