1 #include "mussa_gui_seq_text.hh"
5 get_seq_cb(Fl_Button* o, void* v)
7 SeqTextWin* T=(SeqTextWin*)v;
12 SeqTextWin::real_get_seq_cb()
14 string sub_seq_formatted;
15 int seq_len, i, line_len;
18 cout << "length = " << seq_end-seq_start << endl;
20 // make sure inputed values within valid ranges
21 if ((seq_end > seq_start) && (seq_id > -1) && (seq_id < the_Seqs.size()) )
23 sub_sequence = the_Seqs[seq_id].subseq(seq_start, seq_end-seq_start);
25 sub_seq_formatted = "";
26 seq_len = sub_sequence.size();
28 for (i = 0; i < seq_len; i += line_len)
30 sub_seq_formatted.append(sub_sequence.substr(i,line_len));
31 sub_seq_formatted.append("\n");
34 seq_display->value((const char *)sub_seq_formatted.c_str());
39 // *** input seq index id
42 set_seq_id_cb(Fl_Input* o, void* v)
44 SeqTextWin* T=(SeqTextWin*)v;
45 T->real_set_seq_id_cb(o);
49 SeqTextWin::real_set_seq_id_cb(Fl_Input* o)
51 seq_id = atoi(o->value()) - 1; // -1 since arrays start at 0
55 // *** input seq start index
58 set_seq_start_cb(Fl_Input* o, void* v)
60 SeqTextWin* T=(SeqTextWin*)v;
61 T->real_set_seq_start_cb(o);
65 SeqTextWin::real_set_seq_start_cb(Fl_Input* o)
67 seq_start = atoi(o->value());
70 // *** input seq end index
73 set_seq_end_cb(Fl_Input* o, void* v)
75 SeqTextWin* T=(SeqTextWin*)v;
76 T->real_set_seq_end_cb(o);
80 SeqTextWin::real_set_seq_end_cb(Fl_Input* o)
82 seq_end = atoi(o->value());
86 SeqTextWin::SeqTextWin(int w, int h, const char* title,
87 vector<Sequence> some_Seqs):Fl_Window(w,h,title)
100 seq_id_input = new Fl_Input(80,10,30,30, "Seq num: ");
101 seq_id_input->value("");
102 seq_id_input->callback((Fl_Callback*)set_seq_id_cb, this);
104 seq_start_input = new Fl_Input(160,10,100,30, " start: ");
105 seq_start_input->value("");
106 seq_start_input->callback((Fl_Callback*)set_seq_start_cb, this);
108 seq_end_input = new Fl_Input(310,10,100,30, "end: ");
109 seq_end_input->value("");
110 seq_end_input->callback((Fl_Callback*)set_seq_end_cb, this);
112 seq_display = new Fl_Multiline_Output(10, 50, w-20, h-60, "");
113 seq_display->value("");
115 //seq_display2 = new Fl_Text_Display(10,100, w-20, h-110,"");
117 // button to get the sequence
118 get_seq_but = new Fl_Button(w-80,10,80,30,"Get Seq");
119 get_seq_but->callback((Fl_Callback*)get_seq_cb, this);
128 SeqTextWin::~SeqTextWin(){}