Zoom Icon Patch
[mussa.git] / qui / MussaWindow.hpp
1 #ifndef _MUSSAWINDOW_H_
2 #define _MUSSAWINDOW_H_
3
4 #include <QMainWindow>
5 #include <QPixmap>
6 #include <QSpinBox>
7 #include <QToolBar>
8
9 #include "qui/seqbrowser/SequenceBrowserWidget.hpp"
10 #include "qui/ThresholdWidget.hpp"
11
12 class QAction;
13 class QLabel;
14 class Mussa;
15
16 class MussaWindow : public QMainWindow
17 {
18   Q_OBJECT
19
20 public: 
21   MussaWindow(Mussa* analysis=0, QWidget *parent=0);
22
23 public slots:
24   //! display an about box, contemplating the politics of the author list
25   void about();
26
27   //! \defgroup AnalysisFunctions Components related to running analyses
28   //\@{
29   //! open a window to collect the information needed to create a new analysis
30   void createNewAnalysis();
31   //! launch a sub analysis
32   void createSubAnalysis();
33   //\@}
34
35   //! \defgroup MotifHandling Handling of motif lists
36   //\@{
37   //! load motifs
38   void loadMotifList();
39   void saveMotifList();
40   void toggleMotifs();
41   //\@}
42
43   //! load a mussa parameter file (which specifies an analysis to run)
44   void loadMupa();
45   //! load a previously run analysis
46   void loadSavedAnalysis();
47   //! set the soft threshold used by the Nway_Path algorithm
48   void setSoftThreshold(int thres);
49
50   void showMussaToolbar();
51   
52 protected:
53   Mussa *analysis;
54   // display our wonderful mussa output
55   SequenceBrowserWidget browser;
56   QToolBar mussaViewTB;
57   QSpinBox zoomBox;
58   ThresholdWidget threshold;
59   QLabel zoomLabel;
60
61   QAction *aboutAction;
62   QAction *closeAction;
63   QAction *createNewAnalysisAction;
64   QAction *createSubAnalysisAction;
65   QAction *loadMotifListAction;
66   QAction *loadMupaAction;
67   QAction *loadSavedAnalysisAction;
68   QAction *saveMotifListAction;
69   QAction *showMussaViewToolbarAction;
70   QAction *toggleMotifsAction;
71   QAction *whatsThisAction;
72   QAction *saveBrowserPixmapAction;
73
74   //! initialze the actions
75   void setupActions();
76   //! initialize this windows menu object
77   void setupMainMenu();
78   //! stub function to fill in QActions
79   void NotImplementedBox();
80   //! update the SequenceBrowser with our analysis
81   void updateAnalysis();
82   //! update the view of conserved windows
83   void updateLinks();
84 };
85
86 #endif