1 #ifndef _MUSSAWINDOW_H_
2 #define _MUSSAWINDOW_H_
5 #include <boost/shared_ptr.hpp>
9 #include <QProgressDialog>
13 #include "qui/MussaAlignedWindow.hpp"
14 #include "qui/motif_editor/MotifEditor.hpp"
15 #include "qui/mussa_setup_dialog/MussaSetupDialog.hpp"
16 #include "qui/seqbrowser/SequenceBrowserWidget.hpp"
17 #include "qui/ThresholdWidget.hpp"
18 #include "qui/ZoomWidget.hpp"
25 class QAssistantClient;
27 class MussaWindow : public QMainWindow
32 MussaWindow(Mussa* analysis=0, QWidget *parent=0);
35 //! reset any attached window
38 //! switch to a new analysis
39 void setAnalysis(Mussa *new_analysis);
41 //! display an about box, contemplating the politics of the author list
44 //! \defgroup AnalysisFunctions Components related to running analyses
46 //! open a window to collect the information needed to create a new analysis
47 void createNewAnalysis();
48 //! launch a sub analysis
49 void createSubAnalysis();
52 //! \defgroup MotifHandling Handling of motif lists
61 //! load a mussa parameter file (which specifies an analysis to run)
63 //! load a previously run analysis
64 void loadSavedAnalysis();
65 //! set the soft threshold used by the Nway_Path algorithm
66 void setSoftThreshold(int thres);
67 //! update progress bar
68 void updateProgress(const std::string& description, int cur, int max);
70 //! open a new mussa window so one can compare analyses
71 void newMussaWindow();
73 void showMussaToolbar();
75 //! open new window showing our alignment
76 void viewMussaAlignment();
78 //! display mussagl manual
81 void assistantError(const QString message);
84 void changedAnnotations();
88 std::list<boost::shared_ptr<MussaAlignedWindow> > aligned_windows;
89 MotifEditor *motif_editor;
90 MussaSetupDialog setup_analysis_dialog;
92 // display our wonderful mussa output
93 SequenceBrowserWidget browser;
96 ThresholdWidget threshold;
97 QProgressDialog *progress_dialog;
100 QAction *closeAction;
101 QAction *createNewAnalysisAction;
102 QAction *createSubAnalysisAction;
103 QAction *editMotifsAction;
104 QAction *loadMotifListAction;
105 QAction *loadMupaAction;
106 QAction *loadSavedAnalysisAction;
107 QAction *mussaManualAssistantAction;
108 QAction *newMussaWindowAction;
109 QAction *saveMotifListAction;
110 QAction *showMussaViewToolbarAction;
111 QAction *toggleMotifsAction;
112 QAction *saveBrowserPixmapAction;
113 QAction *whatsThisAction;
114 QAction *viewMussaAlignmentAction;
116 QAssistantClient *manualAssistant;
118 //! initialze the actions
120 //! initialize this windows menu object
121 void setupMainMenu();
122 //! initialize assistant client
123 void setupAssistant();
124 //! stub function to fill in QActions
125 void NotImplementedBox();
128 //! update the SequenceBrowser with our analysis
129 void updateAnalysis();
130 //! update the view of conserved windows
132 //! update annotations?
133 void updateAnnotations();