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