Skip to content
Snippets Groups Projects
proteinlistwindow.h 2.08 KiB

/*******************************************************************************
* Copyright (c) 2015 Olivier Langella <Olivier.Langella@moulon.inra.fr>.
*
* This file is part of XTPcpp.
*
*     XTPcpp is free software: you can redistribute it and/or modify
*     it under the terms of the GNU General Public License as published by
*     the Free Software Foundation, either version 3 of the License, or
*     (at your option) any later version.
*
*     XTPcpp is distributed in the hope that it will be useful,
*     but WITHOUT ANY WARRANTY; without even the implied warranty of
*     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*     GNU General Public License for more details.
*
*     You should have received a copy of the GNU General Public License
*     along with XTPcpp.  If not, see <http://www.gnu.org/licenses/>.
*
* Contributors:
*     Olivier Langella <Olivier.Langella@moulon.inra.fr> - initial API and implementation
******************************************************************************/

#ifndef PROTEINLISTWINDOW_H
#define PROTEINLISTWINDOW_H


#include <QMainWindow>
#include "proteintablemodel.h"

class ProjectWindow;

//http://doc.qt.io/qt-4.8/qt-itemviews-chart-mainwindow-cpp.html
namespace Ui {
class ProteinView;
}

class ProteinListWindow: public QMainWindow {
    Q_OBJECT

public:

    explicit ProteinListWindow(ProjectWindow * parent = 0);
    ~ProteinListWindow();
    void setIdentificationGroup(IdentificationGroup * p_identification_group);
    void doubleclickOnproteinMatch(ProteinMatch * p_protein_match);
    void updateStatusBar();

public slots:
    void doFocusReceived(bool has_focus);
    //void peptideEdited(QString peptideStr);
    // void setColor(const QColor &color);
    // void setShape(Shape shape);
signals:
    void proteinMatchClicked(ProteinMatch * p_protein_match);

private:
    IdentificationGroup * _p_identification_group;
    Ui::ProteinView *ui;
    ProteinTableModel * _protein_table_model_p = nullptr;
    ProteinTableProxyModel * _p_proxy_model = nullptr;
    ProjectWindow * _project_window;

};

#endif // PROTEINLISTWINDOW_H