diff --git a/src/grouping/ptm/ptmgroupingexperiment.cpp b/src/grouping/ptm/ptmgroupingexperiment.cpp index 827a8d578b9a2d614c4aecf0997644596828ff0f..2e25dcf0ff9f99453ef7de29579e522aba0be6fb 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.cpp +++ b/src/grouping/ptm/ptmgroupingexperiment.cpp @@ -152,7 +152,7 @@ PtmGroupingExperiment::setValidationState(ValidationState validation_state) _peptide_validation_state = validation_state; } void -PtmGroupingExperiment::addProteinMatch(const ProteinMatch *p_protein_match) +PtmGroupingExperiment::addProteinMatch(ProteinMatch *p_protein_match) { if(p_protein_match->getValidationState() >= _peptide_validation_state) { diff --git a/src/grouping/ptm/ptmgroupingexperiment.h b/src/grouping/ptm/ptmgroupingexperiment.h index bf1cdfae4aca808c04812983c2044bee4ac86340..7ceaeb8344ebc0d3b51ce92a357c37de8c490c9e 100644 --- a/src/grouping/ptm/ptmgroupingexperiment.h +++ b/src/grouping/ptm/ptmgroupingexperiment.h @@ -50,7 +50,7 @@ class PtmGroupingExperiment * experiment */ void setValidationState(ValidationState validation_state); - void addProteinMatch(const ProteinMatch *p_protein_match); + void addProteinMatch(ProteinMatch *p_protein_match); void startGrouping(); /** @brief get the ptm island subgroup list diff --git a/src/grouping/ptm/ptmisland.cpp b/src/grouping/ptm/ptmisland.cpp index 25568a9084ef0910427b3ab8630d95d76ffd2068..6f7bfc41cd5ac99716d370f6d746a39ab180756f 100644 --- a/src/grouping/ptm/ptmisland.cpp +++ b/src/grouping/ptm/ptmisland.cpp @@ -36,7 +36,7 @@ #include <pappsomspp/utils.h> #include <set> -PtmIsland::PtmIsland(const ProteinMatch *p_protein_match, unsigned int position) +PtmIsland::PtmIsland(ProteinMatch *p_protein_match, unsigned int position) : _protein_match_p(p_protein_match) { _position_list.push_back(position); @@ -142,8 +142,8 @@ PtmIsland::setProteinNumber(unsigned int prot_number) { _prot_number = prot_number; } -const ProteinMatch * -PtmIsland::getProteinMatch() const +ProteinMatch * +PtmIsland::getProteinMatch() { return _protein_match_p; } diff --git a/src/grouping/ptm/ptmisland.h b/src/grouping/ptm/ptmisland.h index e02d24fa5ebd0e664a1e102959bd06ba32348885..02700617d95c1c2788774db509173908daf8ec7b 100644 --- a/src/grouping/ptm/ptmisland.h +++ b/src/grouping/ptm/ptmisland.h @@ -48,7 +48,7 @@ typedef std::shared_ptr<PtmIsland> PtmIslandSp; class PtmIsland { public: - PtmIsland(const ProteinMatch *p_protein_match, unsigned int position); + PtmIsland(ProteinMatch *p_protein_match, unsigned int position); PtmIsland(const PtmIsland &other); ~PtmIsland(); void addPeptideMatch(const PeptideMatch &peptide_match); @@ -60,7 +60,7 @@ class PtmIsland bool containsPeptideMatch(const PeptideMatch &element) const; std::vector<std::size_t> getSampleScanSet() const; - const ProteinMatch *getProteinMatch() const; + ProteinMatch *getProteinMatch(); unsigned int getProteinStartPosition() const; void setPtmIslandSubgroup(PtmIslandSubgroup *p_ptm_island_subgroup); void setProteinNumber(unsigned int prot_number); @@ -82,7 +82,7 @@ class PtmIsland const std::vector<PeptideMatch> &getPeptideMatchList() const; private: - const ProteinMatch *_protein_match_p; + ProteinMatch *_protein_match_p; std::vector<PeptideMatch> _peptide_match_list; // std::vector<std::size_t> _sample_scan_set; std::vector<unsigned int> _position_list; diff --git a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp index 8d1b86fade5e5d13c3d2c1f475dafcbc2f020861..2514d5cf84e0455aad8461b954e6f0f25322003f 100644 --- a/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp +++ b/src/gui/ptm_island_list_view/ptmislandlistwindow.cpp @@ -186,15 +186,19 @@ PtmIslandListWindow::getPtmIslandListColumnDisplay( void PtmIslandListWindow::setColumnMenuList() { - PtmIslandListQActionColumn *p_action; - for(int i = 0; i < _ptm_table_model_p->columnCount(); i++) + if(ui->menu_Columns->isEmpty()) { - p_action = new PtmIslandListQActionColumn( - this, PtmIslandTableModel::getPtmIslandListColumn(i)); - ui->menu_Columns->addAction(p_action); + PtmIslandListQActionColumn *p_action; + for(int i = 0; i < _ptm_table_model_p->columnCount(); i++) + { + p_action = new PtmIslandListQActionColumn( + this, PtmIslandTableModel::getPtmIslandListColumn(i)); + ui->menu_Columns->addAction(p_action); + } } } + void PtmIslandListWindow::doNotCheckedHide(bool hide) { diff --git a/src/gui/ptm_island_list_view/ptmislandproxymodel.cpp b/src/gui/ptm_island_list_view/ptmislandproxymodel.cpp index 024cb563d0282b7ce8f798b1cb45d36c81cef3fc..bd90592f5404795d823322706b86aa248e5f86d0 100644 --- a/src/gui/ptm_island_list_view/ptmislandproxymodel.cpp +++ b/src/gui/ptm_island_list_view/ptmislandproxymodel.cpp @@ -207,9 +207,10 @@ PtmIslandProxyModel::onTableClicked(const QModelIndex &index) int col = source_index.column(); ProteinMatch *p_protein_match = - _p_ptm_island_table_model->getIdentificationGroup() - ->getProteinMatchList() - .at(row); + _p_ptm_island_table_model->getPtmGroupingExperiment() + ->getPtmIslandList() + .at(row) + ->getProteinMatch(); if(col == (std::int8_t)PtmIslandListColumn::checked) {