1 #ifndef _MUSSAWINDOW_H_
2 #define _MUSSAWINDOW_H_
8 #include <QProgressDialog>
12 #include "qui/MussaAlignedWindow.hpp"
13 #include "qui/motif_editor/MotifEditor.hpp"
14 #include "qui/mussa_setup_dialog/MussaSetupDialog.hpp"
15 #include "qui/seqbrowser/SequenceBrowserWidget.hpp"
16 #include "qui/ThresholdWidget.hpp"
17 #include "qui/ZoomWidget.hpp"
24 class QAssistantClient;
26 class MussaWindow : public QMainWindow
31 MussaWindow(Mussa* analysis=0, QWidget *parent=0);
34 //! switch to a new analysis
35 void setAnalysis(Mussa *new_analysis);
37 //! display an about box, contemplating the politics of the author list
40 //! \defgroup AnalysisFunctions Components related to running analyses
42 //! open a window to collect the information needed to create a new analysis
43 void createNewAnalysis();
44 //! launch a sub analysis
45 void createSubAnalysis();
48 //! \defgroup MotifHandling Handling of motif lists
57 //! load a mussa parameter file (which specifies an analysis to run)
59 //! load a previously run analysis
60 void loadSavedAnalysis();
61 //! set the soft threshold used by the Nway_Path algorithm
62 void setSoftThreshold(int thres);
63 //! update progress bar
64 void updateProgress(const std::string& description, int cur, int max);
66 //! open a new mussa window so one can compare analyses
67 void newMussaWindow();
69 void showMussaToolbar();
71 //! open new window showing our alignment
72 void viewMussaAlignment();
74 //! display mussagl manual
77 void assistantError(const QString message);
80 void changedAnnotations();
84 std::list<MussaAlignedWindow *> aligned_windows;
85 MotifEditor *motif_editor;
86 MussaSetupDialog setup_analysis_dialog;
88 // display our wonderful mussa output
89 SequenceBrowserWidget browser;
92 ThresholdWidget threshold;
93 QProgressDialog *progress_dialog;
96 QAction *copySelectedSequenceAsFastaAction;
98 QAction *createNewAnalysisAction;
99 QAction *createSubAnalysisAction;
100 QAction *editMotifsAction;
101 QAction *loadMotifListAction;
102 QAction *loadMupaAction;
103 QAction *loadSavedAnalysisAction;
104 QAction *mussaManualAssistantAction;
105 QAction *newMussaWindowAction;
106 QAction *saveMotifListAction;
107 QAction *showMussaViewToolbarAction;
108 QAction *toggleMotifsAction;
109 QAction *saveBrowserPixmapAction;
110 QAction *whatsThisAction;
111 QAction *viewMussaAlignmentAction;
113 QAssistantClient *manualAssistant;
115 //! initialze the actions
117 //! initialize this windows menu object
118 void setupMainMenu();
119 //! initialize assistant client
120 void setupAssistant();
121 //! stub function to fill in QActions
122 void NotImplementedBox();
125 //! update the SequenceBrowser with our analysis
126 void updateAnalysis();
127 //! update the view of conserved windows
129 //! update annotations?
130 void updateAnnotations();