bool AnnotationNode::getValue (const String& strMemberName, String& strValue) { bool bValueSet = false; Annotation* pObject = dynamic_cast<Annotation*>(m_pObject); if (strMemberName == L"value") { ValueObject* pValueObj = dynamic_cast<ValueObject*>(m_pObject); if (pValueObj) { if (!pValueObj->isNothing()) { strValue = pValueObj->toString(); bValueSet = true; } } } else if (strMemberName == L"Type") { if (pObject->hasValue_Type()) { strValue = (StringObjectImpl(pObject->getType())).toString(); bValueSet = true; } } else if (strMemberName == L"Name") { if (pObject->hasValue_Name()) { strValue = (StringObjectImpl(pObject->getName())).toString(); bValueSet = true; } } else if (strMemberName == L"Desc") { if (pObject->hasValue_Desc()) { strValue = (StringObjectImpl(pObject->getDesc())).toString(); bValueSet = true; } } else if (strMemberName == L"PclRef") { if (pObject->getPclRef()) { strValue = pObject->getPclRef()->toString(); bValueSet = true; } } return bValueSet; }
QString GTUtilsAnnotationsTreeView::getAVItemName(HI::GUITestOpStatus &os, AVItem* avItem) { GT_CHECK_RESULT(avItem != NULL, "avItem is NULL", ""); switch (avItem->type) { case AVItemType_Annotation: { AVAnnotationItem* avAnnotationItem = (AVAnnotationItem*)avItem; GT_CHECK_RESULT(avAnnotationItem != NULL, "avAnnotationItem is NULL", ""); Annotation *annotation = avAnnotationItem->annotation; return annotation->getName(); } break; case AVItemType_Group: { AVGroupItem* avGroupItem = (AVGroupItem*)avItem; GT_CHECK_RESULT(avGroupItem!= NULL, "avAnnotationItem is NULL", ""); AnnotationGroup *group= avGroupItem->group; return group->getName(); } break; case AVItemType_Qualifier: { AVQualifierItem* avQualifierItem = (AVQualifierItem*)avItem; GT_CHECK_RESULT(avQualifierItem != NULL, "avQualifierItem is NULL", ""); return avQualifierItem->qName; } break; default: break; } return ""; }
void EnzymesADVContext::buildMenu(GObjectView *v, QMenu *m) { AnnotatedDNAView *av = qobject_cast<AnnotatedDNAView *>(v); SAFE_POINT(NULL != av, "Invalid sequence view",); CHECK(av->getSequenceInFocus()->getAlphabet()->isNucleic(),); QMenu *cloningMenu = new QMenu(tr("Cloning"), m); cloningMenu->menuAction()->setObjectName("Cloning"); cloningMenu->addActions(cloningActions); QAction *exportMenuAction = GUIUtils::findAction(m->actions(), ADV_MENU_EXPORT); m->insertMenu(exportMenuAction, cloningMenu); if (!av->getAnnotationsSelection()->getSelection().isEmpty()) { Annotation *a = av->getAnnotationsSelection()->getSelection().first().annotation; const QString annName = a->getName(); const QString groupName = a->getGroup()->getName(); const int annCount = a->getGroup()->getAnnotations().size(); if (annName == PRIMER_ANNOTATION_NAME && groupName.startsWith(PRIMER_ANNOTATION_GROUP_NAME) && 2 == annCount) { QAction *a = findViewAction(v, CREATE_PCR_PRODUCT_ACTION_NAME); SAFE_POINT(NULL != a, "Invalid menu action",); cloningMenu->addAction(a); }