f90052a9136c6fc4711f6ae9967c67d279b2d751
[mussa.git] / mussa_gui_seq.hh
1 #include "mussa_gui_seq_view.hh"
2
3 #include <FL/Fl_Menu_Bar.H>
4 #include <FL/Fl_Menu_Item.H>
5 #include <FL/Fl_Menu_Button.H>
6 #include <FL/Fl_Double_Window.H>
7
8
9 class SeqWindow : public Fl_Double_Window
10 {
11   private:
12     string ana_name;
13     int base_window_len;
14
15     //this data is passed as pointers to the instantiated classes
16     vector<Sequence> *S;
17     // list of paths in selection box
18     list<vector<int> > P;
19     vector<int> seq_lens;
20     //pointer to passed motif data
21     vector<motif> *the_motifs;
22
23     int x_max, y_max;
24     Fl_Menu_Button *choose_align_menu;
25     Fl_Menu_Button *show_align_menu;
26     Fl_Button *toggle_bars;
27     SeqView *seq_box;
28
29   public:
30     int seq_num;
31
32     SeqWindow(int w, int h, const char* title, int sq_num,
33               vector<Sequence> *some_seqs, 
34               list<vector<int> > some_paths, vector<int> some_lens,
35               vector<motif> *some_motifs);
36     virtual ~SeqWindow(){ cout << "dying\n"; }
37
38     void make_choose_menu();
39     void make_show_menu();
40     void real_set_align_cb(int which_align);
41     void real_show_align_cb(int which_align);
42     void real_toggle_bars_cb();
43     void real_toggle_motifs_cb();
44 };
45
46
47
48 struct menu_align_data_bundle
49 {
50   SeqWindow * swm_ptr;
51   int which_align;
52 };