+ popupMenu = new QMenu(this);
+ copySelectedSequenceAsFastaAction = new QAction(tr("&Copy as Fasta"), this);
+ connect(copySelectedSequenceAsFastaAction, SIGNAL(triggered()),
+ this, SLOT(copySelectedSequenceAsFasta()));
+ popupMenu->addAction(copySelectedSequenceAsFastaAction);
+
+ copySelectedSequenceAsStringAction = new QAction(tr("&Copy Sequence"), this);
+ copySelectedSequenceAsStringAction->setShortcut(Qt::CTRL | Qt::Key_C);
+ connect(copySelectedSequenceAsStringAction, SIGNAL(triggered()),
+ this, SLOT(copySelectedSequenceAsString()));
+ popupMenu->addAction(copySelectedSequenceAsStringAction);
+
+ // connect edit properties action
+ editSequencePropertiesAction = new QAction(tr("Sequence &Properties"), this);
+ connect(editSequencePropertiesAction, SIGNAL(triggered()),
+ this, SLOT(editSequenceProperties()));
+
+ clearSelectionAction = new QAction(tr("Clear Selection"), this);
+ clearSelectionAction->setShortcut(Qt::Key_Escape);
+ connect(clearSelectionAction, SIGNAL(triggered()),
+ this, SLOT(clearSelection()));
+ this->addAction(clearSelectionAction);
+
+}
+
+SequenceBrowser::SequenceBrowser(const SequenceBrowser& sb, QWidget *parent)
+ : QGLWidget(parent),
+ GlSeqBrowser(sb),
+ rubberBand(sb.rubberBand),
+ popupMenu(sb.popupMenu),
+ copySelectedSequenceAsFastaAction(sb.copySelectedSequenceAsFastaAction),
+ copySelectedSequenceAsStringAction(sb.copySelectedSequenceAsStringAction),
+ editSequencePropertiesAction(sb.editSequencePropertiesAction),
+ clearSelectionAction(sb.clearSelectionAction)
+{
+ resize(sb.width(), sb.height());
+ setZoom(sb.zoom());
+ paintGL();
+}
+
+QMenu *SequenceBrowser::getPopupMenu()
+{
+ return popupMenu;
+}
+
+QAction *SequenceBrowser::getCopySelectedSequenceAsFastaAction()
+{
+ return copySelectedSequenceAsFastaAction;
+}
+
+QAction *SequenceBrowser::getCopySelectedSequenceAsStringAction()
+{
+ return copySelectedSequenceAsStringAction;
+}
+
+QAction *SequenceBrowser::getEditSequencePropertiesAction()
+{
+ return editSequencePropertiesAction;