void EnzymesPlugin::sl_onOpenCreateFragmentDialog() { GObjectViewWindow* w = GObjectViewUtils::getActiveObjectViewWindow(); if (w == NULL) { QMessageBox::information(QApplication::activeWindow(), openCreateFragmentDialog->text(), tr("There is no active sequence object.\nTo create fragment open sequence document.")); return; } AnnotatedDNAView* view = qobject_cast<AnnotatedDNAView*>(w->getObjectView()); if (view == NULL) { QMessageBox::information(QApplication::activeWindow(), openCreateFragmentDialog->text(), tr("There is no active sequence object.\nTo create fragment open sequence document.")); return; } U2SequenceObject* dnaObj = view->getSequenceInFocus()->getSequenceObject(); assert(dnaObj != NULL); if (!dnaObj->getAlphabet()->isNucleic()) { QMessageBox::information(QApplication::activeWindow(), openCreateFragmentDialog->text(), tr("The sequence doesn't have nucleic alphabet, it can not be used in cloning.")); return; } QObjectScopedPointer<CreateFragmentDialog> dlg = new CreateFragmentDialog(view->getSequenceInFocus(), QApplication::activeWindow()); dlg->exec(); }
void EnzymesPlugin::sl_onOpenDigestSequenceDialog() { GObjectViewWindow* w = GObjectViewUtils::getActiveObjectViewWindow(); if (w == NULL) { QMessageBox::information(QApplication::activeWindow(), openDigestSequenceDialog->text(), tr("There is no active sequence object.\nTo start partition open sequence document.")); return; } AnnotatedDNAView* view = qobject_cast<AnnotatedDNAView*>(w->getObjectView()); if (view == NULL) { QMessageBox::information(QApplication::activeWindow(), openDigestSequenceDialog->text(), tr("There is no active sequence object.\nTo start partition open sequence document.")); return; } if (!view->getSequenceInFocus()->getSequenceObject()->getAlphabet()->isNucleic()) { QMessageBox::information(QApplication::activeWindow(), openDigestSequenceDialog->text(), tr("Can not digest into fragments non-nucleic sequence.")); return; } QObjectScopedPointer<DigestSequenceDialog> dlg = new DigestSequenceDialog(view->getSequenceInFocus(), QApplication::activeWindow()); dlg->exec(); }
void OpenMaEditorTask::updateTitle(MSAEditor* msaEd) { const QString& oldViewName = msaEd->getName(); GObjectViewWindow* w = GObjectViewUtils::findViewByName(oldViewName); if (w != NULL) { MultipleAlignmentObject* msaObject = msaEd->getMaObject(); QString newViewName = GObjectViewUtils::genUniqueViewName(msaObject->getDocument(), msaObject); msaEd->setName(newViewName); w->setWindowTitle(newViewName); } }
void uHMMPlugin::sl_search() { //to select a sequence //1. check that annotated DNA view is active //2. if not -> check that DNASequence object is selected in project view U2SequenceObject* obj = NULL; MWMDIWindow* w = AppContext::getMainWindow()->getMDIManager()->getActiveWindow(); if (w!=NULL) { GObjectViewWindow* ow = qobject_cast<GObjectViewWindow*>(w); if (ow!=NULL) { GObjectView* ov = ow->getObjectView(); AnnotatedDNAView* av = qobject_cast<AnnotatedDNAView*>(ov); if (av!=NULL) { ADVSequenceObjectContext* seqCtx = av->getSequenceInFocus(); obj = seqCtx->getSequenceObject(); } } } if (obj == NULL) { ProjectView* pv = AppContext::getProjectView(); if (pv!=NULL) { const GObjectSelection* sel = pv->getGObjectSelection(); GObject* o = sel->getSelectedObjects().size() == 1 ? sel->getSelectedObjects().first() : NULL; obj = qobject_cast<U2SequenceObject*>(o); } } QWidget *p = (QWidget*)AppContext::getMainWindow()->getQMainWindow(); if (obj == NULL) { QMessageBox::critical(p, tr("Error"), tr("Error! Select sequence in Project view or open sequence view.")); return; } U2OpStatusImpl os; DNASequence sequence = obj->getWholeSequence(os); CHECK_OP_EXT(os, QMessageBox::critical(QApplication::activeWindow(), L10N::errorTitle(), os.getError()), ); QObjectScopedPointer<HMMSearchDialogController> d = new HMMSearchDialogController(sequence, obj, p); d->exec(); }
void uHMMPlugin::sl_build() { MAlignment ma; //try to find alignment check that MSA Editor is active QString profileName; MWMDIWindow* w = AppContext::getMainWindow()->getMDIManager()->getActiveWindow(); if (w!=NULL) { GObjectViewWindow* ow = qobject_cast<GObjectViewWindow*>(w); if (ow!=NULL) { GObjectView* ov = ow->getObjectView(); MSAEditor* av = qobject_cast<MSAEditor*>(ov); if (av!=NULL) { MAlignmentObject* maObj = av->getMSAObject(); if (maObj!=NULL) { ma = maObj->getMAlignment(); profileName = maObj->getGObjectName() == MA_OBJECT_NAME ? maObj->getDocument()->getName() : maObj->getGObjectName(); } } } } QWidget *p = (QWidget*)AppContext::getMainWindow()->getQMainWindow(); QObjectScopedPointer<HMMBuildDialogController> d = new HMMBuildDialogController(profileName, ma, p); d->exec(); }