Example #1
0
/*! 
  \brief select_datalog_for_import() loads a datalog file for playback
  \param widget is the Calling widget
  \param data is unused
  */
G_MODULE_EXPORT gboolean select_datalog_for_import(GtkWidget *widget, gpointer data)
{
	MtxFileIO *fileio = NULL;
	gchar *filename = NULL;
	GIOChannel *iochannel = NULL;

	ENTER();
	reset_logviewer_state();
	free_log_info((Log_Info *)DATA_GET(global_data,"log_info"));

	fileio = g_new0(MtxFileIO ,1);
	fileio->default_path = g_strdup(DATALOG_DATA_DIR);
	fileio->project = (const gchar *)DATA_GET(global_data,"project_name");
	fileio->parent = lookup_widget("main_window");
	fileio->on_top = TRUE;
	fileio->title = g_strdup("Choose a datalog to view");
	fileio->action = GTK_FILE_CHOOSER_ACTION_OPEN;

	filename = choose_file(fileio);
	if (filename == NULL)
	{
		update_logbar("dlog_view","warning",_("NO FILE opened for logviewing!\n"),FALSE,FALSE,FALSE);
		EXIT();
		return FALSE;
	}

	iochannel = g_io_channel_new_file(filename, "r+",NULL);
	if (!iochannel)
	{
		update_logbar("dlog_view","warning",_("File open FAILURE! \n"),FALSE,FALSE,FALSE);
		EXIT();
		return FALSE;
	}

	update_logbar("dlog_view",NULL,_("DataLog ViewFile Opened\n"),FALSE,FALSE,FALSE);
	load_logviewer_file(iochannel);
	g_io_channel_shutdown(iochannel,FALSE,NULL);
	g_io_channel_unref(iochannel);

	update_logbar("dlog_view",NULL,_("LogView File Closed\n"),FALSE,FALSE,FALSE);
	gtk_widget_set_sensitive(lookup_widget("logviewer_controls_hbox"),TRUE);
	enable_playback_controls(TRUE);
	free_mtxfileio(fileio);
	EXIT();
	return TRUE;
}
Example #2
0
/*!
  \brief set_logviewer_mode() sets things up for playback mode
  \param mode Enumeration defining the logviewr mode (live or playback)
  */
G_MODULE_EXPORT void set_logviewer_mode(Lv_Mode mode)
{
	GtkWidget *widget = NULL;

	reset_logviewer_state();
	free_log_info(DATA_GET(global_data,"log_info"));
	if (mode == LV_PLAYBACK)
	{
		DATA_SET(global_data,"playback_mode",GINT_TO_POINTER(TRUE));
		gtk_widget_set_sensitive(lookup_widget("logviewer_select_logfile_button"), TRUE);
		gtk_widget_set_sensitive(lookup_widget("logviewer_select_params_button"), FALSE);
		gtk_widget_hide(lookup_widget("logviewer_rt_control_vbox1"));
		/* This one should NOT be enabled until at least 1 var is selected */
		gtk_widget_show(lookup_widget("logviewer_playback_control_vbox1"));
		gtk_widget_show(lookup_widget("scroll_speed_vbox"));

		widget = lookup_widget("logviewer_log_position_hscale");
		if (GTK_IS_RANGE(widget))
			gtk_range_set_value(GTK_RANGE(widget),0.0);
		hue = -60.0;
		col_sat = 1.0;
		col_val = 1.0;
	}
	else if (mode == LV_REALTIME)
	{
		enable_playback_controls(FALSE);

		stop_tickler(LV_PLAYBACK_TICKLER);
		DATA_SET(global_data,"playback_mode",GINT_TO_POINTER(FALSE));
		gtk_widget_set_sensitive(lookup_widget("logviewer_select_logfile_button"), FALSE);
		gtk_widget_set_sensitive(lookup_widget("logviewer_select_params_button"), TRUE);
		gtk_widget_show(lookup_widget("logviewer_rt_control_vbox1"));
		gtk_widget_hide(lookup_widget("logviewer_playback_control_vbox1"));
		gtk_widget_hide(lookup_widget("scroll_speed_vbox"));
		widget = lookup_widget("logviewer_log_position_hscale");
		if (GTK_IS_RANGE(widget))
			gtk_range_set_value(GTK_RANGE(widget),100.0);
		hue = -60.0;
		col_sat = 1.0;
		col_val = 1.0;
	}
}