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_DNA_GRAPHPACK_PLUGIN_H_ 23 #define _U2_DNA_GRAPHPACK_PLUGIN_H_ 24 25 #include <QMenu> 26 #include <QPointer> 27 #include <QToolBar> 28 29 #include <U2Core/PluginModel.h> 30 31 #include <U2Gui/ObjectViewModel.h> 32 33 #include <U2View/ADVSequenceWidget.h> 34 #include <U2View/GSequenceGraphView.h> 35 #include <U2View/GraphMenu.h> 36 37 namespace U2 { 38 39 class MWMDIWindow; 40 class GObjectView; 41 class GSequenceGraphFactory; 42 class GSequenceGraphData; 43 class GraphAction; 44 class DNAGraphPackViewContext; 45 class ADVSingleSequenceWidget; 46 47 class DNAGraphPackPlugin : public Plugin { 48 Q_OBJECT 49 public: 50 DNAGraphPackPlugin(); 51 52 private: 53 DNAGraphPackViewContext *ctx; 54 }; 55 56 class DNAGraphPackViewContext : public GObjectViewWindowContext { 57 Q_OBJECT 58 public: 59 DNAGraphPackViewContext(QObject *parent); 60 61 private: 62 QList<GSequenceGraphFactory *> graphFactories; 63 64 void initViewContext(GObjectView *view) override; 65 66 private slots: 67 void sl_sequenceWidgetAdded(ADVSequenceWidget *); 68 }; 69 70 } // namespace U2 71 72 #endif 73