1 #ifndef _MUSSAWINDOW_H_
2 #define _MUSSAWINDOW_H_
11 #include "qui/MussaAlignedWindow.hpp"
12 #include "qui/motif_editor/MotifEditor.hpp"
13 #include "qui/mussa_setup_dialog/MussaSetupDialog.hpp"
14 #include "qui/seqbrowser/SequenceBrowserWidget.hpp"
15 #include "qui/ThresholdWidget.hpp"
16 #include "qui/ZoomWidget.hpp"
23 class QAssistantClient;
25 class MussaWindow : public QMainWindow
30 MussaWindow(Mussa* analysis=0, QWidget *parent=0);
33 //! switch to a new analysis
34 void setAnalysis(Mussa *new_analysis);
36 //! display an about box, contemplating the politics of the author list
39 //! \defgroup AnalysisFunctions Components related to running analyses
41 //! open a window to collect the information needed to create a new analysis
42 void createNewAnalysis();
43 //! launch a sub analysis
44 void createSubAnalysis();
47 //! \defgroup MotifHandling Handling of motif lists
56 //! load a mussa parameter file (which specifies an analysis to run)
58 //! load a previously run analysis
59 void loadSavedAnalysis();
60 //! set the soft threshold used by the Nway_Path algorithm
61 void setSoftThreshold(int thres);
63 //! open a new mussa window so one can compare analyses
64 void newMussaWindow();
66 void showMussaToolbar();
68 //! open new window showing our alignment
69 void viewMussaAlignment();
71 //! display mussagl manual
74 void assistantError(const QString message);
77 void changedAnnotations();
81 std::list<MussaAlignedWindow *> aligned_windows;
82 MotifEditor *motif_editor;
83 MussaSetupDialog setup_analysis_dialog;
85 // display our wonderful mussa output
86 SequenceBrowserWidget browser;
89 ThresholdWidget threshold;
93 QAction *createNewAnalysisAction;
94 QAction *createSubAnalysisAction;
95 QAction *editMotifsAction;
96 QAction *loadMotifListAction;
97 QAction *loadMupaAction;
98 QAction *loadSavedAnalysisAction;
99 QAction *mussaManualAssistantAction;
100 QAction *newMussaWindowAction;
101 QAction *saveMotifListAction;
102 QAction *showMussaViewToolbarAction;
103 QAction *toggleMotifsAction;
104 QAction *saveBrowserPixmapAction;
105 QAction *whatsThisAction;
106 QAction *viewMussaAlignmentAction;
108 QAssistantClient *manualAssistant;
110 QStringList manualAssistantArgs;
112 //! initialze the actions
114 //! initialize this windows menu object
115 void setupMainMenu();
116 //! initialize assistant client
117 void setupAssistant();
118 //! stub function to fill in QActions
119 void NotImplementedBox();
122 //! update the SequenceBrowser with our analysis
123 void updateAnalysis();
124 //! update the view of conserved windows
126 //! update annotations?
127 void updateAnnotations();