
/**
* ===================================================================================================
 *
 *       @file  interface.c 
 *      @brief  Este é o programa que comunica com a interface 
 *
 * ===================================================================================================
 */

#ifndef _INTERFACE_C_
#define _INTERFACE_C_

#include "interface.h"

/*são os valores que aparecem inicialmente quando se executa o programa*/
/*argc = number of elements*/
/*argc = memory position of all elements*/
int ProgInterface(int argc, char *argv[])
{		
	char NameKeyRec[20]="main.c";
	char NameKeyEnv[20]="RS232Comm.c";
    
	//Criacao das ShareMemories
	shm_rec = GetSharedMem(NameKeyRec, &shm_id_rec);	
	shm_env = GetSharedMem(NameKeyEnv, &shm_id_env);    

	signal(SIGUSR1, Signal_rc);
// 	signal(SIGUSR2, Estado_RS232);
	signal(SIGINT,Kill_Interfe);
	
	/*------------------------Configura o GTK e os respectivos sinais-------------------*/
	/*E necessario antes de usar qualquer comando do GTK*/
	gtk_init(&argc, &argv);
	/*Criar a estrutura*/
	builderG = gtk_builder_new ();
	gtk_builder_add_from_file (builderG, "Interface.glade", NULL);
	/* connect the signals in the interface */
	gtk_builder_connect_signals (builderG, NULL);
	/* get main window ID and connect special signals */
	GtkWidget *t = GTK_WIDGET(gtk_builder_get_object (builderG, "window1"));					
	//gtk_widget_show_all (t);
	//g_object_unref ( G_OBJECT(builderG) );
	if(t) 
	{ 
	    g_signal_connect(G_OBJECT(t), "delete_event", G_CALLBACK(delete_event), NULL);
	}

	/* start the event loop */
	gtk_main();
	
	printf("Out of gtk main\n");
	
	return 0;
}


#endif