1 #ifndef _MUSSA_GUI_CONN_VIEW_H_
2 #define _MUSSA_GUI_CONN_VIEW_H_
3 // This file is part of the Mussa source distribution.
4 // http://mussa.caltech.edu/
5 // Contact author: Tristan De Buysscher, tristan@caltech.edu
7 // This program and all associated source code files are Copyright (C) 2005
8 // the California Institute of Technology, Pasadena, CA, 91125 USA. It is
9 // under the GNU Public License; please see the included LICENSE.txt
10 // file for more information, or contact Tristan directly.
17 #include "sequence.hh"
19 #include "SeqWindow.hh"
20 #include "MotifWindow.hh"
21 #include "AnnotWindow.hh" // aparently for annot_color
22 #include "mussa_nway.hh"
24 #include <FL/Fl_Box.H>
27 class ConnView : public Fl_Box
30 ConnView(int x_top,int y_top,int x_bot,int y_bot) :
31 Fl_Box(x_top,y_top,x_bot,y_bot)
34 void setup(std::string name, int sq_num, int win_len,
35 std::vector<Sequence> *, Nway_Paths *);
43 void set_bar_interval(int new_bar_len);
45 void set_line_interval(int new_line_len);
50 int seq_num, window, threshold;
51 bool win_append, thres_append;
53 //this data is passed as pointers to the instantiated classes
54 std::vector<Sequence> *S;
60 int drag_start, drag_end;
62 int ref_seq_num, max_seq_len;
63 bool dragging, selected;
64 std::list<bool> highlight;
66 //path data scaled for current view size
67 std::list<std::vector<int> > scaled_pathz;
68 std::vector<int> seq_lens;
69 std::vector<int> seq_scales;
70 int bar_interval, line_interval;
71 bool show_bars, show_lines;
73 //keeps track of all the motifs the user has inputed
74 std::vector<motif> some_motifs;
75 MotifWindow *motif_find_window;
77 //keeps track of the colors assigned to each motif type
78 std::vector<annot_color> some_annots;
79 AnnotWindow *annot_color_window;
85 void draw_sequence_stuff();
87 void resize(int x, int y, int w, int h);
89 void check_new_motifs();
91 //for drawing function debugging
92 void reporter(std::string var, int value);
93 void report_float(std::string var, float value);