1 /** 2 * UGENE - Integrated Bioinformatics Tools. 3 * Copyright (C) 2008-2021 UniPro <ugene@unipro.ru> 4 * http://ugene.net 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License 8 * as published by the Free Software Foundation; either version 2 9 * of the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 19 * MA 02110-1301, USA. 20 */ 21 22 #ifndef _U2_MSA_EDITOR_WGT_H_ 23 #define _U2_MSA_EDITOR_WGT_H_ 24 25 #include "view_rendering/MaEditorWgt.h" 26 27 namespace U2 { 28 29 class GObjectViewWindow; 30 class MSADistanceMatrix; 31 class MSAEditor; 32 class MsaEditorAlignmentDependentWidget; 33 class MSAEditorMultiTreeViewer; 34 class MsaEditorSimilarityColumn; 35 class MSAEditorTreeViewer; 36 class SimilarityStatisticsSettings; 37 38 class U2VIEW_EXPORT MsaEditorWgt : public MaEditorWgt { 39 Q_OBJECT 40 // todo: make public accessors: 41 friend class MSAEditorTreeViewer; 42 friend class MsaEditorSimilarityColumn; 43 44 public: 45 MsaEditorWgt(MSAEditor *editor); 46 47 MSAEditor *getEditor() const; 48 49 MSAEditorSequenceArea *getSequenceArea() const; 50 51 void createDistanceColumn(MSADistanceMatrix *matrix); 52 53 void addTreeView(GObjectViewWindow *treeView); 54 55 void setSimilaritySettings(const SimilarityStatisticsSettings *settings); 56 57 void refreshSimilarityColumn(); 58 59 void showSimilarity(); 60 void hideSimilarity(); 61 62 const MsaEditorAlignmentDependentWidget *getSimilarityWidget(); 63 64 MSAEditorTreeViewer *getCurrentTree() const; 65 66 MSAEditorMultiTreeViewer *getMultiTreeViewer(); 67 68 private slots: 69 void sl_onTabsCountChanged(int tabsCount); 70 signals: 71 void si_showTreeOP(); 72 void si_hideTreeOP(); 73 74 protected: 75 void initSeqArea(GScrollBar *shBar, GScrollBar *cvBar); 76 void initOverviewArea(); 77 void initNameList(QScrollBar *nhBar); 78 void initConsensusArea(); 79 void initStatusBar(); 80 81 private: 82 MsaEditorSimilarityColumn *dataList; 83 MSAEditorMultiTreeViewer *multiTreeViewer; 84 MsaEditorAlignmentDependentWidget *similarityStatistics; 85 MSAEditorTreeViewer *treeViewer; 86 }; 87 88 } // namespace U2 89 90 #endif // _U2_MSA_EDITOR_WGT_H_ 91