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 "alg/sequence.hpp"
18 #include "alg/nway_paths.hpp"
19 #include "gui/SeqView.hpp"
20 #include "gui/SeqWindow.hpp"
21 #include "gui/MotifWindow.hpp"
22 #include "gui/AnnotWindow.hpp" // aparently for annot_color
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> *, NwayPaths *);
43 void set_bar_interval(int new_bar_len);
45 void set_line_interval(int new_line_len);
49 std::string analysis_name;
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;
55 //! Store the nway paths our analysis did, we mostly need the refined paths
61 int drag_start, drag_end;
63 int ref_seq_num, max_seq_len;
64 bool dragging, selected;
65 std::list<bool> highlight;
67 //path data scaled for current view size
68 std::list<ExtendedConservedPath > scaled_pathz;
69 std::vector<int> seq_lens;
70 std::vector<int> seq_scales;
71 int bar_interval, line_interval;
72 bool show_bars, show_lines;
74 //keeps track of all the motifs the user has inputed
75 std::vector<motif> some_motifs;
76 MotifWindow *motif_find_window;
78 //keeps track of the colors assigned to each motif type
79 std::vector<annot_color> some_annots;
80 AnnotWindow *annot_color_window;
86 void draw_sequence_stuff();
88 void resize(int x, int y, int w, int h);
90 void check_new_motifs();
92 //for drawing function debugging
93 void reporter(std::string var, int value);
94 void report_float(std::string var, float value);