28 GtkWidget *
title = gtk_label_new(
"");
29 gtk_label_set_markup(GTK_LABEL(title),
"<big>Data Source</big>");
31 TabAdd(gtk_hseparator_new());
34 GtkWidget * box_data_selector = gtk_hbox_new(
false, 0);
35 gtk_box_pack_start(GTK_BOX(box_data_selector),this->
getView()->getDataSource()->getCombo(),
false,
false,0);
36 TabAdd(box_data_selector,
false,
false,0);
40 mindset_device_box = gtk_vbox_new(
false,0);
46 mindset_panel->
add(
"DeviceLocation",
"Where is the device located?",
getView()->getModel()->deviceGetLocation());
47 g_signal_connect(G_OBJECT(mindset_panel->
getWidget(0)),
49 G_CALLBACK(CB_ChangeLocation),
52 gtk_box_pack_start(GTK_BOX(mindset_device_box),gtk_label_new(
"Mindset Configuration"),
false,
false,0);
53 gtk_box_pack_start(GTK_BOX(mindset_device_box),gtk_hseparator_new(),
false,
false,0);
54 gtk_box_pack_start(GTK_BOX(mindset_device_box),mindset_panel->
getContainer(),
false,
false,0);
60 btn_search = gtk_button_new_with_label(
"Search For Amplifier");
61 g_signal_connect(G_OBJECT(btn_search),
63 G_CALLBACK(CB_DeviceSearch),
65 GtkWidget *btn_box = gtk_hbutton_box_new();
66 gtk_button_box_set_layout(GTK_BUTTON_BOX(btn_box),GTK_BUTTONBOX_SPREAD);
67 gtk_box_pack_start(GTK_BOX(btn_box),btn_search,
false,
false, 0);
70 gtk_box_pack_start(GTK_BOX(mindset_device_box),btn_box,
false,
false,0);
75 gdk_color_parse (
"red", &color);
77 GtkWidget *error_frame = gtk_frame_new(
"");
78 GtkWidget *error_label = gtk_label_new(
"Device Errors");
79 gtk_widget_modify_fg(error_label, GTK_STATE_NORMAL, &color);
80 gtk_frame_set_label_widget(GTK_FRAME(error_frame),error_label);
83 gtk_widget_set_size_request(error_frame,500,220);
84 error_text = gtk_label_new(
"Device Configuration Errors");
85 gtk_label_set_line_wrap(GTK_LABEL(error_text),
true);
88 gtk_container_add(GTK_CONTAINER(error_frame),error_text);
89 error_box = gtk_hbox_new(
true, 0);
90 gtk_box_pack_start(GTK_BOX(error_box),error_frame,
false,
false, 40);
92 gtk_box_pack_start(GTK_BOX(mindset_device_box),error_box,
false,
false,0);
94 inquiry_box = gtk_hbox_new(
false, 0);
95 inquiry_text = gtk_label_new(
"");
96 gtk_box_pack_start(GTK_BOX(inquiry_box),inquiry_text,
true,
true,25);
98 gtk_box_pack_start(GTK_BOX(mindset_device_box),inquiry_box,
false,
false,0);
101 TabAdd(mindset_device_box);
104 file_stream_box = gtk_vbox_new(
false,0);
105 string loaded_file =
"None";
108 GtkWidget *file_btn_box = gtk_hbutton_box_new();
109 gtk_button_box_set_layout(GTK_BUTTON_BOX(btn_box),GTK_BUTTONBOX_START);
111 file_btn_load = gtk_button_new_with_label(
"Load File");
112 g_signal_connect(G_OBJECT(file_btn_load),
114 G_CALLBACK(CB_LoadDataSourceFile),
116 gtk_box_pack_start(GTK_BOX(file_btn_box),file_btn_load,
false,
false,2);
119 GtkWidget *label_file = gtk_label_new(
"");
120 gtk_label_set_markup(GTK_LABEL(label_file),
"<b>Loaded File: </b>");
121 label_filename = gtk_label_new(loaded_file.c_str());
122 GtkWidget *hbox_filename = gtk_hbox_new(
false,0);
124 gtk_box_pack_start(GTK_BOX(file_stream_box),file_btn_box,
false,
false, 2);
126 gtk_box_pack_start(GTK_BOX(hbox_filename),label_file,
false,
false,0);
127 gtk_box_pack_start(GTK_BOX(hbox_filename),label_filename,
false,
false,0);
130 gtk_box_pack_start(GTK_BOX(file_stream_box),hbox_filename,
false,
false, 2);
134 file_label_info_text = gtk_label_new(
"");
135 gtk_box_pack_start(GTK_BOX(file_stream_box),file_label_info_text,
false,
false, 2);
140 this->updating_view =
false;
146 this->updating_view =
true;
149 gtk_widget_hide(this->mindset_device_box);
150 gtk_widget_hide(this->file_stream_box);
151 if(source_name ==
"Mindset")
163 gtk_entry_set_text(GTK_ENTRY(mindset_panel->
getWidget(0)),location.c_str());
168 gtk_widget_show(error_box);
169 gtk_label_set_text(GTK_LABEL(error_text),error.c_str());
173 gtk_widget_hide(error_box);
179 gtk_widget_show(inquiry_box);
180 gtk_label_set_text(GTK_LABEL(inquiry_text),inquiry.c_str());
184 gtk_widget_hide(inquiry_box);
186 gtk_widget_show(this->mindset_device_box);
191 else if(source_name==
"File")
200 gtk_label_set_markup(GTK_LABEL(this->label_filename),filename.c_str());
202 if(num_samples == 0 || num_channels < 2)
204 gtk_widget_hide(this->file_label_info_text);
214 info_string +=
"<b>Data is separated into</b>:\n "
220 gtk_label_set_markup(GTK_LABEL(this->file_label_info_text),info_string.c_str());
221 gtk_widget_show(this->file_label_info_text);
225 gtk_widget_show(this->file_stream_box);
227 this->updating_view =
false;
240 void TabDevice::CB_DeviceSearch(GtkWidget *widget, gpointer data)
243 if(tab->updating_view)
250 void TabDevice::CB_ChangeLocation(GtkWidget *widget, gpointer data)
253 if(tab->updating_view)
259 void TabDevice::CB_ChangeBlockSize(GtkWidget *widget, gpointer data)
264 void TabDevice::CB_ChangeSampleRate(GtkWidget *widget, gpointer data)
272 void TabDevice::CB_LoadDataSourceFile(GtkWidget *widget, gpointer data)
292 string message = string(
"Failed to open file. ") + e.what();