diff --git a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui index 697456ff56fd9a216b4df399492ab3a8499b46a2..086b533324245e57585afeddb8ff8a952839d575 100644 --- a/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui +++ b/src/gui/export/export_masschroq_dialog/export_masschroq_dialog.ui @@ -35,7 +35,11 @@ <item> <layout class="QVBoxLayout" name="verticalLayout_13"> <item> - <widget class="QListView" name="group_listView"/> + <widget class="QListView" name="group_listView"> + <property name="toolTip"> + <string>Check which groups will be export in the masschroqml file</string> + </property> + </widget> </item> <item> <layout class="QHBoxLayout" name="horizontalLayout_12"> @@ -93,7 +97,7 @@ <item> <widget class="QGroupBox" name="groupBox_5"> <property name="title"> - <string>Ms run in the selected group</string> + <string>Ms runs in the selected group</string> </property> <layout class="QHBoxLayout" name="horizontalLayout_9"> <item> diff --git a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp index 8f673bb75cba5d253fef3d432bbde14375c28701..8d2f10718cac5f9e9833e0f6fd3538a3d7b3e105 100644 --- a/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp +++ b/src/gui/export/export_masschroq_dialog/exportmasschroqdialog.cpp @@ -47,6 +47,9 @@ ExportMasschroqDialog::ExportMasschroqDialog(MainWindow *parent, ui->setupUi(this); this->setModal(true); + ui->listWidget->clear(); + ui->msrun_list_combo_box->clear(); + ui->label_msrun_not_found->setHidden(true); ui->toolButton_2->setHidden(true); ui->label_check->setHidden(true); @@ -325,19 +328,22 @@ ExportMasschroqDialog::doShowMsRunsInAlignmentGroup(QModelIndex index) { ui->listWidget->clear(); ui->msrun_list_combo_box->clear(); - MsRunAlignmentGroupSp temp = msp_alignmentGroups.at(index.row()); - for(MsRunSp ms_run : temp->getMsRunsInAlignmentGroup()) + MsRunAlignmentGroupSp selected_group = msp_alignmentGroups.at(index.row()); + ui->groupBox_5->setTitle("Ms runs in " + + selected_group->getMsRunAlignmentGroupName()); + for(MsRunSp ms_run : selected_group->getMsRunsInAlignmentGroup()) { ui->listWidget->addItem(ms_run->getSampleName()); ui->msrun_list_combo_box->addItem(ms_run->getSampleName()); } - if(temp->getMsRunReference() != nullptr) + if(selected_group->getMsRunReference() != nullptr) { std::list<MsRunSp>::iterator it; - it = std::find(temp->getMsRunsInAlignmentGroup().begin(), - temp->getMsRunsInAlignmentGroup().end(), - temp->getMsRunReference()); - int idx = std::distance(temp->getMsRunsInAlignmentGroup().begin(), it); + it = std::find(selected_group->getMsRunsInAlignmentGroup().begin(), + selected_group->getMsRunsInAlignmentGroup().end(), + selected_group->getMsRunReference()); + int idx = + std::distance(selected_group->getMsRunsInAlignmentGroup().begin(), it); ui->msrun_list_combo_box->setCurrentIndex(idx); } else diff --git a/src/gui/lists/ms_identification_run_list_view/ms_identification_run_view.ui b/src/gui/lists/ms_identification_run_list_view/ms_identification_run_view.ui index 5691d0980fea9bc73eea27cd88c49314bbb58921..bcc8f9af5f801f0ed9d51bf3e489ecb1846a95c3 100644 --- a/src/gui/lists/ms_identification_run_list_view/ms_identification_run_view.ui +++ b/src/gui/lists/ms_identification_run_list_view/ms_identification_run_view.ui @@ -69,7 +69,7 @@ <x>0</x> <y>0</y> <width>1084</width> - <height>24</height> + <height>22</height> </rect> </property> <widget class="QMenu" name="menuExport"> @@ -88,12 +88,9 @@ <bool>true</bool> </property> <property name="title"> - <string>&Alignment</string> + <string>M&assChroQ</string> </property> - <addaction name="no_group_action"/> - <addaction name="separator"/> - <addaction name="actionAll_identifications"/> - <addaction name="separator"/> + <addaction name="actionExport"/> </widget> <addaction name="menuExport"/> <addaction name="menuColumns"/> @@ -127,6 +124,11 @@ <string>&All identifications</string> </property> </action> + <action name="actionExport"> + <property name="text"> + <string>Export</string> + </property> + </action> </widget> <resources/> <connections> @@ -178,6 +180,22 @@ </hint> </hints> </connection> + <connection> + <sender>actionExport</sender> + <signal>triggered()</signal> + <receiver>MsIdentificationView</receiver> + <slot>doMassChroQParameters()</slot> + <hints> + <hint type="sourcelabel"> + <x>250</x> + <y>45</y> + </hint> + <hint type="destinationlabel"> + <x>541</x> + <y>201</y> + </hint> + </hints> + </connection> </connections> <slots> <slot>doNotValidHide(bool)</slot> @@ -190,6 +208,6 @@ <slot>doModificationSearch(QString)</slot> <slot>doExportAsOdsFile()</slot> <slot>onMsIdentificationSearchEdit(QString)</slot> - <slot>doAlignmentGroupParameters(QAction*)</slot> + <slot>doMassChroQParameters()</slot> </slots> </ui> diff --git a/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.cpp b/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.cpp index 69be78e8cbf324f3771b7a229e442faa11b98254..3981fb95722f77f4a0a5b7cab7c191847473bf91 100644 --- a/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.cpp +++ b/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.cpp @@ -134,10 +134,10 @@ MsIdentificationListWindow::MsIdentificationListWindow(ProjectWindow *parent) &MsIdentificationTableModel::projectStatusChanged, mp_projectWindow, &ProjectWindow::doProjectStatusChanged); - connect(ui->menuAlignment, - &QMenu::triggered, - this, - &MsIdentificationListWindow::doAlignmentGroupParameters); + connect(ui->actionExport, + &QAction::triggered, + mp_projectWindow, + &ProjectWindow::doOpenMassChroQDialog); } @@ -327,8 +327,6 @@ MsIdentificationListWindow::setAlignmentGroup( mp_proxyModel->setData(index, QVariant(), Qt::EditRole); } } - - checkMsRunAlignmentGroupContent(); } QModelIndexList @@ -338,50 +336,9 @@ MsIdentificationListWindow::getSelectedIndexes() } void -MsIdentificationListWindow::doAlignmentGroupParameters( - QAction *action_triggered) +MsIdentificationListWindow::doMassChroQParameters() { - qDebug() << action_triggered->text(); - MsRunAlignmentGroupSp alignment_group; - if(action_triggered == ui->actionAll_identifications) - { - - } - else - { - alignment_group = - mp_projectWindow->getProjectP()->getMsRunAlignmentGroupFromList( - action_triggered->text()); - } - - if(alignment_group != nullptr) - { - openMassChroQParametersView(alignment_group); - } -} - -void -MsIdentificationListWindow::checkMsRunAlignmentGroupContent() -{ - foreach(QAction *action, ui->menuAlignment->actions()) - { - if(action != ui->no_group_action && - action != ui->actionAll_identifications && !action->isSeparator()) - { - qDebug() << "test"; - MsRunAlignmentGroupSp alignment_group = - mp_projectWindow->getProjectP()->getMsRunAlignmentGroupFromList( - action->text()); - if(alignment_group->getMsRunsInAlignmentGroup().size() >= 2) - { - action->setEnabled(true); - } - else - { - action->setEnabled(false); - } - } - } + emit operateMassChroqExportDialog(); } MsIdentificationTableProxyModel * @@ -395,23 +352,3 @@ MsIdentificationListWindow::getMsIdentificationModel() { return mp_msidTableModel; } - -void -MsIdentificationListWindow::addValueToAlignmentMenu(QString action_name) -{ - if(ui->menuAlignment->actions()[0] == ui->no_group_action) - { - ui->menuAlignment->removeAction(ui->no_group_action); - } - - QAction *new_group = new QAction(action_name); - new_group->setEnabled(false); - ui->menuAlignment->addAction(new_group); -} - -void -MsIdentificationListWindow::openMassChroQParametersView( - MsRunAlignmentGroupSp alignment_group) -{ - qDebug(); -} diff --git a/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.h b/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.h index e20b8bf4b06d88337a66369b905eae3796b99481..8dd242ab56efc86240d279abf35b62fbc45f6084 100644 --- a/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.h +++ b/src/gui/lists/ms_identification_run_list_view/msidentificationlistwindow.h @@ -31,6 +31,7 @@ #include "msidentificationtableproxymodel.h" #include "ui_ms_identification_run_view.h" #include "../../widgets/Alignment_group_menu/alignmentgroupmenu.h" +#include "../../export/export_masschroq_dialog/exportmasschroqdialog.h" class ProjectWindow; @@ -78,12 +79,9 @@ class MsIdentificationListWindow : public QMainWindow void setAlignmentGroup(MsRunAlignmentGroupSp msrun_alignment_group); void resizeColumnsToContents(); QModelIndexList getSelectedIndexes(); - void checkMsRunAlignmentGroupContent(); MsIdentificationTableProxyModel *getMsIdentificationProxyModel(); MsIdentificationTableModel *getMsIdentificationModel(); - void addValueToAlignmentMenu(QString action_name); void virtual closeEvent(QCloseEvent *event) override; - void openMassChroQParametersView(MsRunAlignmentGroupSp alignment_group); public slots: void doExportAsOdsFile(); @@ -92,9 +90,10 @@ class MsIdentificationListWindow : public QMainWindow signals: void MsIdentificationDataChanged(); + void operateMassChroqExportDialog(); protected slots: - void doAlignmentGroupParameters(QAction *action_triggered); + void doMassChroQParameters(); void doSearchOn(QString search_on); void updateStatusBar(); void onMsIdentificationSearchEdit(QString protein_search_string); @@ -105,8 +104,9 @@ class MsIdentificationListWindow : public QMainWindow private: Ui::MsIdentificationView *ui; - MsIdentificationTableModel *mp_msidTableModel = nullptr; - MsIdentificationTableProxyModel *mp_proxyModel = nullptr; + MsIdentificationTableModel *mp_msidTableModel = nullptr; + MsIdentificationTableProxyModel *mp_proxyModel = nullptr; + ExportMasschroqDialog *mp_export_masschroq_dialog = nullptr; ProjectWindow *mp_projectWindow; - AlignmentGroupsQMenu *mp_groups_context_menu = nullptr; + AlignmentGroupsQMenu *mp_groups_context_menu = nullptr; }; diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp index 5eb34a0135c2370209144c9cbf7b7045aa5cc15e..33b2d0ad60692e86ec59b95db31a75d7c7a79d13 100644 --- a/src/gui/project_view/projectwindow.cpp +++ b/src/gui/project_view/projectwindow.cpp @@ -107,7 +107,11 @@ ProjectWindow::ProjectWindow(MainWindow *parent) &WorkerThread::bestMsrunForAlignmentGroupFinished, this, &ProjectWindow::doBestMsRunForAlignmentFinished); - + connect(this, + &ProjectWindow::operateMassChroqExportDialog, + main_window, + &MainWindow::doActionMassChroQ); + // // grouping /* connect(this, @@ -143,6 +147,13 @@ ProjectWindow::getProjectP() { return _project_sp.get(); } + +ProjectSp +ProjectWindow::getProjectSP() +{ + return _project_sp; +} + void ProjectWindow::setDefaultProteinListWindow( ProteinListWindow *p_protein_list_window) @@ -1125,3 +1136,10 @@ ProjectWindow::doCleanMsRunReaders() } } } + +void +ProjectWindow::doOpenMassChroQDialog() +{ + qDebug() << "AAAAAAAA"; + emit operateMassChroqExportDialog(); +} diff --git a/src/gui/project_view/projectwindow.h b/src/gui/project_view/projectwindow.h index b5479f9a0d7df14644b53eb15b67020e8a42aac2..0fd7272deab46958aa62a9f1630b5bd7c6b24b16 100644 --- a/src/gui/project_view/projectwindow.h +++ b/src/gui/project_view/projectwindow.h @@ -59,6 +59,7 @@ class ProjectWindow : public QMainWindow explicit ProjectWindow(MainWindow *parent = 0); Project *getProjectP(); void setProjectSp(ProjectSp project_sp); + ProjectSp getProjectSP(); void editModifications(); void editLabelingMethods(); void openInXicViewer(const PeptideEvidence *p_peptide_evidence); @@ -92,6 +93,7 @@ class ProjectWindow : public QMainWindow void doProjectStatusChanged(); void doBestMsRunForAlignmentFinished(MsRunSp msrun_sp); void doCleanMsRunReaders(); + void doOpenMassChroQDialog(); // void setColor(const QColor &color); // void setShape(Shape shape); @@ -112,6 +114,7 @@ class ProjectWindow : public QMainWindow void projectNameChanged(QString name); void projectStatusChanged(); void bestMsRunFound(MsRunSp msrun_sp); + void operateMassChroqExportDialog(); protected: void doViewPeptideList(IdentificationGroup *p_ident_group, diff --git a/src/gui/widgets/Alignment_group_menu/alignmentgroupmenu.cpp b/src/gui/widgets/Alignment_group_menu/alignmentgroupmenu.cpp index cc9106845e41213755a247459d2185452b4e6b57..c8fee815c8dd9dc300a6557a82a365fccf7a0383 100644 --- a/src/gui/widgets/Alignment_group_menu/alignmentgroupmenu.cpp +++ b/src/gui/widgets/Alignment_group_menu/alignmentgroupmenu.cpp @@ -254,7 +254,6 @@ AlignmentGroupsQMenu::createNewAlignmentGroup() if(msrun_alignment_group_position == -1) { mp_subMenuGroup->addAction(value); - mp_msIdListWindow->addValueToAlignmentMenu(value); MsRunAlignmentGroupSp new_alignment_group = std::make_shared<MsRunAlignmentGroup>(mp_project, value); mp_project->addMsRunAlignmentGroupToList(new_alignment_group);