create the copySelectedSequenceAsFastaAction in the inner-most class
and provide accessors so all the other appropriate levels can stick it
in their menus.
The weakness to this is if we ever let users override keybindings
void MussaAlignedWindow::setupActions()
{
void MussaAlignedWindow::setupActions()
{
- // create our copy action
- copySelectedSequenceAsFastaAction = new QAction(tr("&Copy As Fasta"), this);
- connect(copySelectedSequenceAsFastaAction, SIGNAL(triggered()),
- &browser, SLOT(copySelectedSequenceAsFasta()));
-
//Save pixel map action
saveBrowserPixmapAction = new QAction(tr("Save to image..."), this);
connect(saveBrowserPixmapAction, (SIGNAL(triggered())),
//Save pixel map action
saveBrowserPixmapAction = new QAction(tr("Save to image..."), this);
connect(saveBrowserPixmapAction, (SIGNAL(triggered())),
newMenu->addAction(saveBrowserPixmapAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
newMenu->addAction(saveBrowserPixmapAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
- newMenu->addAction(copySelectedSequenceAsFastaAction);
-
+ newMenu->addAction(&browser.getCopySelectedSequenceAsFastaAction());
}
void MussaAlignedWindow::setupAlignmentMenus()
}
void MussaAlignedWindow::setupAlignmentMenus()
QMenu view_align_menu;
QAction *saveBrowserPixmapAction;
QMenu view_align_menu;
QAction *saveBrowserPixmapAction;
- QAction *copySelectedSequenceAsFastaAction;
std::vector <IntAction *> pick_actions;
std::vector <IntAction *> view_actions;
std::vector <IntAction *> pick_actions;
std::vector <IntAction *> view_actions;
threshold(),
progress_dialog(0),
aboutAction(0),
threshold(),
progress_dialog(0),
aboutAction(0),
- copySelectedSequenceAsFastaAction(0),
closeAction(0),
createNewAnalysisAction(0),
createSubAnalysisAction(0),
closeAction(0),
createNewAnalysisAction(0),
createSubAnalysisAction(0),
if (progress_dialog != 0) delete progress_dialog;
if (aboutAction != 0) delete aboutAction;
if (progress_dialog != 0) delete progress_dialog;
if (aboutAction != 0) delete aboutAction;
- if (copySelectedSequenceAsFastaAction != 0)
- delete copySelectedSequenceAsFastaAction;
if (closeAction != 0) delete closeAction;
if (createNewAnalysisAction != 0) delete createNewAnalysisAction;
if (createSubAnalysisAction != 0) delete createSubAnalysisAction;
if (closeAction != 0) delete closeAction;
if (createNewAnalysisAction != 0) delete createNewAnalysisAction;
if (createSubAnalysisAction != 0) delete createSubAnalysisAction;
connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
aboutAction->setIcon(QIcon(":/icons/info.png"));
connect(aboutAction, SIGNAL(triggered()), this, SLOT(about()));
aboutAction->setIcon(QIcon(":/icons/info.png"));
- // copy sequence
- copySelectedSequenceAsFastaAction = new QAction(tr("&Copy As Fasta"), this);
- connect(copySelectedSequenceAsFastaAction, SIGNAL(triggered()),
- &browser, SLOT(copySelectedSequenceAsFasta()));
-
// add exit
closeAction = new QAction(tr("&Close"), this);
closeAction->setStatusTip(tr("Close this window"));
// add exit
closeAction = new QAction(tr("&Close"), this);
closeAction->setStatusTip(tr("Close this window"));
newMenu->addAction(closeAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
newMenu->addAction(closeAction);
newMenu = menuBar()->addMenu(tr("&Edit"));
- newMenu->addAction(copySelectedSequenceAsFastaAction);
+ newMenu->addAction(&browser.getCopySelectedSequenceAsFastaAction());
newMenu = menuBar()->addMenu(tr("&View"));
newMenu->addAction(editMotifsAction);
newMenu = menuBar()->addMenu(tr("&View"));
newMenu->addAction(editMotifsAction);
QProgressDialog *progress_dialog;
QAction *aboutAction;
QProgressDialog *progress_dialog;
QAction *aboutAction;
- QAction *copySelectedSequenceAsFastaAction;
QAction *closeAction;
QAction *createNewAnalysisAction;
QAction *createSubAnalysisAction;
QAction *closeAction;
QAction *createNewAnalysisAction;
QAction *createSubAnalysisAction;
{
connect(©SelectedSequenceAsFastaAction, SIGNAL(triggered()),
this, SLOT(copySelectedSequenceAsFasta()));
{
connect(©SelectedSequenceAsFastaAction, SIGNAL(triggered()),
this, SLOT(copySelectedSequenceAsFasta()));
+ copySelectedSequenceAsFastaAction.setShortcut(Qt::CTRL | Qt::Key_C);
popupMenu.addAction(©SelectedSequenceAsFastaAction);
}
popupMenu.addAction(©SelectedSequenceAsFastaAction);
}
+QMenu &SequenceBrowser::getPopupMenu()
+{
+ return popupMenu;
+}
+
+QAction &SequenceBrowser::getCopySelectedSequenceAsFastaAction()
+{
+ return copySelectedSequenceAsFastaAction;
+}
+
+
QSize SequenceBrowser::sizeHint() const
{
//return QSize((int)GlSeqBrowser::viewportHeight(), (int)GlSeqBrowser::viewportWidth());
QSize SequenceBrowser::sizeHint() const
{
//return QSize((int)GlSeqBrowser::viewportHeight(), (int)GlSeqBrowser::viewportWidth());
void clear();
void push_sequence(const Sequence &s);
void push_sequence(GlSequence &);
void clear();
void push_sequence(const Sequence &s);
void push_sequence(GlSequence &);
+
+ //! return the popup menu for the glcanvas (reference stored internally)
+ QMenu &getPopupMenu();
+ //! return our copy actioy (reference stored internally)
+ QAction &getCopySelectedSequenceAsFastaAction();
+
public slots:
void copySelectedSequenceAsFasta();
void displayContextMenu(const QPoint &p);
public slots:
void copySelectedSequenceAsFasta();
void displayContextMenu(const QPoint &p);
+QMenu &SequenceBrowserWidget::getPopupMenu()
+{
+ return scrollable_browser.browser().getPopupMenu();
+}
+
+QAction &SequenceBrowserWidget::getCopySelectedSequenceAsFastaAction()
+{
+ return scrollable_browser.browser().getCopySelectedSequenceAsFastaAction();
+}
+
+
void SequenceBrowserWidget::copySelectedSequenceAsFasta()
{
scrollable_browser.browser().copySelectedSequenceAsFasta();
void SequenceBrowserWidget::copySelectedSequenceAsFasta()
{
scrollable_browser.browser().copySelectedSequenceAsFasta();
public:
SequenceBrowserWidget(QWidget *parent=0);
public:
SequenceBrowserWidget(QWidget *parent=0);
+ //! return the popup menu for the glcanvas (reference stored internally)
+ QMenu &getPopupMenu();
+ //! return our copy actioy (reference stored internally)
+ QAction &getCopySelectedSequenceAsFastaAction();
+
//! return current zoom size
double zoom();
//! return current zoom size
double zoom();