From 047e48d86c29d34d03bc3e308b5baa46c3a6aaeb Mon Sep 17 00:00:00 2001 From: Olivier Langella <Olivier.Langella@moulon.inra.fr> Date: Mon, 3 Apr 2017 22:16:31 +0200 Subject: [PATCH] new identification widget --- src/CMakeLists.txt | 7 +- src/core/project.cpp | 3 + src/core/project.h | 1 + src/gui/peptide_detail_view/peptidewindow.cpp | 10 ++- src/gui/project_view/project_view.ui | 72 +------------------ src/gui/project_view/projectwindow.cpp | 19 +++-- 6 files changed, 30 insertions(+), 82 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a40d8a47c..d8e0bb75f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -29,8 +29,8 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Xml_EXECUTABLE_COMPILE_FLAGS} ${Qt5 #sudo apt-get install libpappsomspp-dev #FIND_PACKAGE( Pappsomspp REQUIRED ) -# SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp") - SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp") + SET (PAPPSOMSPP_DIR "/home/olivier/eclipse/git/pappsomspp") +# SET (PAPPSOMSPP_DIR "/home/langella/developpement/git/pappsomspp") SET (PAPPSOMSPP_INCLUDE_DIR "${PAPPSOMSPP_DIR}/src") SET (PAPPSOMSPP_QT4_LIBRARY "${PAPPSOMSPP_DIR}/cbuild/src/libpappsomspp-qt4.so") @@ -87,6 +87,7 @@ SET(XTPCPP_SRCS ./gui/peptide_list_view/peptidelistwindow.cpp ./gui/peptide_list_view/peptidetablemodel.cpp ./gui/peptide_list_view/peptidetableproxymodel.cpp + ./gui/project_view/identification_group_widget/identificationgroupwidget.cpp ./gui/project_view/projectwindow.cpp ./gui/protein_view/proteinwindow.cpp ./gui/protein_list_view/proteinlistwindow.cpp @@ -98,6 +99,7 @@ SET (GUI_UIS ./gui/main.ui ./gui/peptide_detail_view/peptide_detail_view.ui ./gui/peptide_list_view/peptide_view.ui + ./gui/project_view/identification_group_widget/identification_group_widget.ui ./gui/project_view/project_view.ui ./gui/protein_list_view/protein_view.ui ./gui/protein_view/protein_detail_view.ui @@ -111,6 +113,7 @@ SET(XTPCPP_MOC_HDRS ./gui/peptide_list_view/peptidelistwindow.h ./gui/peptide_list_view/peptidetablemodel.h ./gui/peptide_list_view/peptidetableproxymodel.h + ./gui/project_view/identification_group_widget/identificationgroupwidget.h ./gui/project_view/projectwindow.h ./gui/protein_list_view/proteinlistwindow.h ./gui/protein_list_view/proteintablemodel.h diff --git a/src/core/project.cpp b/src/core/project.cpp index ff0b7c75b..6139b6d20 100644 --- a/src/core/project.cpp +++ b/src/core/project.cpp @@ -38,6 +38,9 @@ Project::~Project() it++; } } +std::vector<IdentificationGroup *> Project::getIdentificationGroupList() { + return _identification_goup_list; +} const GroupingType Project::getGroupingType() const { return _grouping_type; } diff --git a/src/core/project.h b/src/core/project.h index 5f64afb93..880ac3e38 100644 --- a/src/core/project.h +++ b/src/core/project.h @@ -57,6 +57,7 @@ public: const GroupingType getGroupingType() const; + std::vector<IdentificationGroup *> getIdentificationGroupList(); private : std::vector<IdentificationGroup *> _identification_goup_list; diff --git a/src/gui/peptide_detail_view/peptidewindow.cpp b/src/gui/peptide_detail_view/peptidewindow.cpp index 7ea01378c..63d794727 100644 --- a/src/gui/peptide_detail_view/peptidewindow.cpp +++ b/src/gui/peptide_detail_view/peptidewindow.cpp @@ -136,10 +136,11 @@ void PeptideWindow::chooseDefaultMzDataDir() { if (filename.isEmpty()) { return; } - QString path = QFileInfo(filename).absolutePath(); + QString path = QFileInfo(filename).absoluteFilePath(); settings.setValue("path/mzdatadir", path); ui->mz_data_dir_label->setText(path); - + emit loadSpectrumSp(_p_peptide_match); + ui->statusbar->showMessage(tr("loading spectrum")); } @@ -147,6 +148,8 @@ void PeptideWindow::doSpectrumSpReady(SpectrumSp spectrum_sp, QString error) { qDebug() << "PeptideWindow::doSpectrumSpReady begin"; if (!error.isEmpty()) { //not found + + ui->statusbar->showMessage(tr("spectrum not found")); QSettings settings; QString path = settings.value("path/mzdatadir", "").toString(); @@ -156,11 +159,13 @@ void PeptideWindow::doSpectrumSpReady(SpectrumSp spectrum_sp, QString error) { ui->spectrumWidget->setVisible(false); } else { + ui->statusbar->showMessage(tr("")); pappso::QualifiedSpectrum spectrum_copy; spectrum_copy.setPrecursorCharge(_p_peptide_match->getCharge()); spectrum_copy.setOriginalSpectrumSp(spectrum_sp); ui->spectrumWidget->setQualifiedSpectrum(spectrum_copy); + ui->file_not_found->setVisible(false); ui->spectrumWidget->setVisible(true); } qDebug() << "PeptideWindow::doSpectrumSpReady end"; @@ -173,6 +178,7 @@ void PeptideWindow::setPeptideMatch(PeptideMatch * p_peptide_match) { qDebug() << "PeptideWindow::setPeptideMatch emit loadSpectrumSp(_p_peptide_match)"; emit loadSpectrumSp(_p_peptide_match); + ui->statusbar->showMessage(tr("loading spectrum")); pappso::PeptideSp peptide = _p_peptide_match->getPeptideXtpSp(); ui->spectrumWidget->setPrecision(_p_precision); diff --git a/src/gui/project_view/project_view.ui b/src/gui/project_view/project_view.ui index e9e2a5661..2c663259c 100644 --- a/src/gui/project_view/project_view.ui +++ b/src/gui/project_view/project_view.ui @@ -29,77 +29,7 @@ </attribute> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> - <layout class="QFormLayout" name="formLayout_1"> - <item row="0" column="0"> - <widget class="QPushButton" name="viewProteinListButton"> - <property name="toolTip"> - <string>press ctrl to open a new window</string> - </property> - <property name="text"> - <string>View protein list</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="sample_number_label"> - <property name="text"> - <string>Number of samples</string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="group_number_label"> - <property name="text"> - <string>Number of groups</string> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="subgroup_number_label"> - <property name="text"> - <string>Number of subgroups</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLabel" name="sample_number_display"> - <property name="text"> - <string>0</string> - </property> - <property name="alignment"> - <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QLabel" name="group_number_display"> - <property name="text"> - <string>0</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QLabel" name="subgroup_number_display"> - <property name="text"> - <string>0</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Number of grouped proteins</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QLabel" name="protein_number_display"> - <property name="text"> - <string>0</string> - </property> - </widget> - </item> - </layout> + <layout class="QGridLayout" name="identifications_layout"/> </item> </layout> </widget> diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp index f631bb829..944804971 100644 --- a/src/gui/project_view/projectwindow.cpp +++ b/src/gui/project_view/projectwindow.cpp @@ -26,8 +26,10 @@ #include "../mainwindow.h" #include "gui/peptide_list_view/peptidelistwindow.h" #include "gui/protein_list_view/proteinlistwindow.h" +#include "gui/project_view/identification_group_widget/identificationgroupwidget.h" #include <QDebug> #include <QApplication> +#include <QGridLayout> #include <QMessageBox> #include <pappsomspp/pappsoexception.h> @@ -49,7 +51,6 @@ ProjectWindow::ProjectWindow(MainWindow *parent): #else // Qt4 code //connect (_protein_list_window, SIGNAL(proteinMatchClicked(ProteinMatch *)), this //,SLOT(doProteinMatchClicked(ProteinMatch *))); - connect (ui->viewProteinListButton, SIGNAL(clicked()), this ,SLOT(doViewProteinList())); #endif /* @@ -116,12 +117,6 @@ void ProjectWindow::refreshGroup(IdentificationGroup * p_ident_group) { } else { try { - vector< pappso::MsRunIdSp > ms_run_list = p_ident_group->getMsRunIdSpList(); - ui->sample_number_display->setText(QString("%1").arg(ms_run_list.size())); - - ui->group_number_display->setText(QString("%1").arg(p_ident_group->countGroup())); - ui->subgroup_number_display->setText(QString("%1").arg(p_ident_group->countSubGroup())); - ui->protein_number_display->setText(QString("%1").arg(p_ident_group->countGrouped())); emit identificationGroupGrouped(p_ident_group); } catch (pappso::PappsoException exception_pappso) { @@ -266,6 +261,16 @@ void ProjectWindow::setProjectSp(ProjectSp project_sp) { _p_current_peptide_detail_window = nullptr; _project_sp = project_sp; + + std::vector<IdentificationGroup *> identification_list = _project_sp.get()->getIdentificationGroupList(); + qDebug() << " ProjectWindow::setProjectSp size=" << identification_list.size(); + if (identification_list.size() == 1) { + + IdentificationGroupWidget * identification_widget = new IdentificationGroupWidget(this,identification_list[0]); + ui->identifications_layout->addWidget(identification_widget); + } + else { + } refreshGroup(_project_sp.get()->getCurrentIdentificationGroupP()); //_protein_list_window->setIdentificationGroup(_project_sp.get()->getCurrentIdentificationGroupP()); //_protein_list_window->show(); -- GitLab