331{
332 if (
ui->RelationshipNameLineEdit->text().isEmpty() )
333 {
334 QMessageBox::warning ( 0, "Schema editor",
335 QString ( "Please Provide a name for the relationship !" ) );
336 return;
337 }
338
339 QString RelationshipName =
ui->RelationshipNameLineEdit->text();
340 QString RelationshipType =
ui->RelationshipTypeComboBox->currentText();
341 QString RelationshipDescription =
ui->RelationshipDescriptionTextEdit->toPlainText();
342
343 bool IsComposite;
344
345 if (
ui->IsCompositeCombo->currentIndex() == 0 )
346 {
347 IsComposite = true;
348 }
349 else
350 {
351 IsComposite = false;
352 }
353
354 bool IsExclusive;
355
356 if (
ui->IsExclusiveCombo->currentIndex() == 0 )
357 {
358 IsExclusive = true;
359 }
360 else
361 {
362 IsExclusive = false;
363 }
364
365 bool IsDependent;
366
367 if (
ui->IsDependentCombo->currentIndex() == 0 )
368 {
369 IsDependent = true;
370 }
371 else
372 {
373 IsDependent = false;
374 }
375
378
379 if (
ui->HighCcCombo->currentIndex() == 0 ) RelationshipHighCardinality =
380 OksRelationship::CardinalityConstraint::Zero;
381 else if (
ui->HighCcCombo->currentIndex() == 1 ) RelationshipHighCardinality =
382 OksRelationship::CardinalityConstraint::One;
383 else
384 {
385 RelationshipHighCardinality = OksRelationship::CardinalityConstraint::Many;
386 }
387
388 if (
ui->LowCcCombo->currentIndex() == 0 ) RelationshipLowCardinality =
389 OksRelationship::CardinalityConstraint::Zero;
390 else if (
ui->LowCcCombo->currentIndex() == 1 ) RelationshipLowCardinality =
391 OksRelationship::CardinalityConstraint::One;
392 else
393 {
394 RelationshipLowCardinality = OksRelationship::CardinalityConstraint::Many;
395 }
396
398 RelationshipName.toStdString(),
399 RelationshipDescription.toStdString(),
400 RelationshipType.toStdString(),
401 IsComposite, IsExclusive, IsDependent,
402 RelationshipLowCardinality,
403 RelationshipHighCardinality );
405
408 ui->RelationshipTypeComboBox->currentText(),
409 RelationshipName );
410
411 close();
412}
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)