int right)
{
stringstream s;
- s << seq->subseq(left, right-left+1) << std::endl;
+ s << seq->subseq(left, right-left+1);
return s.str();
}
};
newMenu->addAction(saveBrowserPixmapAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
+ newMenu->addAction(browser.getCopySelectedSequenceAsStringAction());
newMenu->addAction(browser.getCopySelectedSequenceAsFastaAction());
newMenu->addAction(createSubAnalysisAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
newMenu->addAction(editMotifsAction);
+ newMenu->addAction(browser->getCopySelectedSequenceAsStringAction());
newMenu->addAction(browser->getCopySelectedSequenceAsFastaAction());
newMenu->addAction(createSubAnalysisAction);
: QGLWidget(parent),
rubberBand(0),
popupMenu(new QMenu(this)),
- copySelectedSequenceAsFastaAction(new QAction(tr("&Copy as Fasta"), this))
+ copySelectedSequenceAsFastaAction(new QAction(tr("&Copy as Fasta"), this)),
+ copySelectedSequenceAsStringAction(new QAction(tr("&Copy Sequence"), this))
{
connect(copySelectedSequenceAsFastaAction, SIGNAL(triggered()),
this, SLOT(copySelectedSequenceAsFasta()));
- copySelectedSequenceAsFastaAction->setShortcut(Qt::CTRL | Qt::Key_C);
popupMenu->addAction(copySelectedSequenceAsFastaAction);
+ copySelectedSequenceAsStringAction->setShortcut(Qt::CTRL | Qt::Key_C);
+ connect(copySelectedSequenceAsStringAction, SIGNAL(triggered()),
+ this, SLOT(copySelectedSequenceAsString()));
+ popupMenu->addAction(copySelectedSequenceAsStringAction);
}
SequenceBrowser::SequenceBrowser(const SequenceBrowser& sb, QWidget *parent)
return copySelectedSequenceAsFastaAction;
}
+QAction *SequenceBrowser::getCopySelectedSequenceAsStringAction()
+{
+ return copySelectedSequenceAsStringAction;
+}
QSize SequenceBrowser::sizeHint() const
{
emit basepairsCopied(base_pairs_copied);
}
+void SequenceBrowser::copySelectedSequenceAsString()
+{
+ // get fasta data
+ std::string buffer;
+ size_t base_pairs_copied = copySelectedTracksAsString(buffer);
+
+ // get reference to clipboard
+ QClipboard *clipboard = QApplication::clipboard();
+ clipboard->setText(buffer.c_str());
+ emit basepairsCopied(base_pairs_copied);
+}
void SequenceBrowser::clear()
{
//! return the popup menu for the glcanvas (reference stored internally)
QMenu *getPopupMenu();
- //! return our copy actioy (reference stored internally)
+ //! return our copy action (reference stored internally)
QAction *getCopySelectedSequenceAsFastaAction();
+ //! return reference to copy sequence action
+ QAction *getCopySelectedSequenceAsStringAction();
public slots:
void copySelectedSequenceAsFasta();
+ void copySelectedSequenceAsString();
void displayContextMenu(const QPoint &p);
void setClipPlane(int z);
//! set the center of the current viewport
QMenu *popupMenu;
QAction *copySelectedSequenceAsFastaAction;
+ QAction *copySelectedSequenceAsStringAction;
};
#endif
return scrollable_browser.browser().getPopupMenu();
}
+QAction *SequenceBrowserWidget::getCopySelectedSequenceAsStringAction()
+{
+ return scrollable_browser.browser().getCopySelectedSequenceAsStringAction();
+}
+
QAction *SequenceBrowserWidget::getCopySelectedSequenceAsFastaAction()
{
return scrollable_browser.browser().getCopySelectedSequenceAsFastaAction();
}
-
void SequenceBrowserWidget::copySelectedSequenceAsFasta()
{
scrollable_browser.browser().copySelectedSequenceAsFasta();
//! return the popup menu for the glcanvas (reference stored internally)
QMenu *getPopupMenu();
- //! return our copy actioy (reference stored internally)
+ //! return our fasta copy action (reference stored internally)
QAction *getCopySelectedSequenceAsFastaAction();
+ //! return our string copy action (reference stored internally)
+ QAction *getCopySelectedSequenceAsStringAction();
//! copy selected track regions into a list of SequenceLocations
void copySelectedTracksAsSeqLocation(std::list<SequenceLocation>& );