コード例 #1
0
//Update Dictionary
void updatedictionary(struttura *str)
{
       int retval;
       char query[200];
	//Check if the word is present on the global dictionary
	sprintf (query, " select parola from  globale where parola like \'%s\';",intToChar(str->ins.new_word));
	//printf("\n%s\n",query);
        
            
	if(sqlite3_prepare_v2(str->tp.db,query,-1,&str->tp.stmt,0))
        {      
               	fprintf(stderr,"error : programm %s ,function updatedictionary(..) sqlite3_prepare_v2 return error\n ",NameProgramm); 
        	return;
	} 
	retval = sqlite3_step(str->tp.stmt);
	
	if(retval != SQLITE_ROW)
	{
		
		sprintf (query, "insert into globale (codice,parola,frequenza) values (\'%s\',\'%s\',3);",str->ins.key_numbers,intToChar(str->ins.new_word));
	        if (sqlite3_exec(str->tp.db,query,0,0,0))
                  fprintf(stderr,"error : programm %s ,function updatedictionary(..) sqlite3_exec return error\n ",NameProgramm); 	
                 	
        }
	gdk_window_process_all_updates ();
}
コード例 #2
0
ファイル: game_gtk.cpp プロジェクト: baalberith/course-ansic
void aktualizuj_plansze(GtkWidget *widget, gpointer data) {
  GdkRegion *region = gdk_drawable_get_clip_region (widget->window);

  gdk_window_invalidate_region (widget->window, region, TRUE);
  gdk_window_process_all_updates();

  //usleep(150000);
}
コード例 #3
0
void movetoright(struttura *str)
{
 if(str->position==2)
 {
	gtk_window_set_gravity(GTK_WINDOW(str->window),GDK_GRAVITY_SOUTH_EAST);
 	gtk_window_move(GTK_WINDOW(str->window),str->s_width-185,str->s_height-WINDOW_HEIGHT);
	str->position=3;
	gdk_window_process_all_updates ();
 }
 if(str->position==1)
 {
 	gtk_window_set_gravity(GTK_WINDOW(str->window),GDK_GRAVITY_SOUTH);
 	gtk_window_move(GTK_WINDOW(str->window),(str->s_width/2)-WINDOW_WIDTH,str->s_height-WINDOW_HEIGHT);
	str->position=2;
	gdk_window_process_all_updates ();
 }
}
コード例 #4
0
void sigh_print_selection(GtkWidget *gtklist, struttura *str)
{
 int revert,keycode;
 if (str->tp.luncodicet9==0) return;
 XGetInputFocus(str->display, &str->win,&revert);
 GList   *dlist;
 GtkWidget *child;
 gtk_widget_set_usize(str->tp.scrolled_window, 0,S_W_MAIN); 
 // Fetch the doubly linked list of selected items of the List, remember to treat this as read-only!
 //g_print("Selection\n");
 dlist=GTK_LIST(gtklist)->selection;
 //g_print("Selection 1\n");
 // Individuiamo l'elemento che ha emesso il segnale e calcoliamo la sua posizione all'interno della lista
 child=gtk_container_get_focus_child(GTK_CONTAINER(gtklist));
 str->tp.indice=gtk_list_child_position((GtkList *)gtklist,child);
 //g_print("Selection 2\n");
 int dim_parola = strlen(str->tp.vetparole[str->tp.indice].parola);
  //g_print("Selection 3\n");
 // If there are no selected items there is nothing more to do than just telling the user so
 if(!dlist){
	//g_print("Selection cleared\n");
        return;
 }
   //g_print("Selection 4\n");
 // Ok, we got a selection and so we print itbacca
 
 for (int kk=0,i=0; kk < dim_parola;i++, kk++) 
 {
   if(strncmp(&str->tp.vetparole[str->tp.indice].parola[i],"à",2)==0)
    sendtofocus(str,XK_agrave);
   else if(strncmp(&str->tp.vetparole[str->tp.indice].parola[i],"è",2)==0)
    sendtofocus(str,XK_egrave);
   else if(strncmp(&str->tp.vetparole[str->tp.indice].parola[i],"ì",2)==0)
    sendtofocus(str,XK_igrave);
   else if(strncmp(&str->tp.vetparole[str->tp.indice].parola[i],"ò",2)==0)
    sendtofocus(str,XK_ograve);
   else if(strncmp(&str->tp.vetparole[str->tp.indice].parola[i],"ù",2)==0)
    sendtofocus(str,XK_ugrave);
   sendtofocus(str,(int)str->tp.vetparole[str->tp.indice].parola[i]);
}

 char query[200];
 bzero (query,200);
 
 sprintf (query, "update globale set frequenza=frequenza+1 where parola =\'%s\';",str->tp.vetparole[str->tp.indice].parola);
     

 //printf("\n%s\n",query);
 if (sqlite3_exec(str->tp.db,query,0,0,0))
   fprintf(stderr,"error : programm %s ,function sigh_print_selection(..) sqlite3_exec return error\n ",NameProgramm); 	
 gtk_list_clear_items ((GtkList *) gtklist,0,N);
 str->tp.luncodicet9 = 0;
 bzero(str->tp.codicet9,LEN_WORD_DB+1);
 gdk_window_process_all_updates ();
	//XCloseDisplay(display);
}
コード例 #5
0
ファイル: GtkEvent.cpp プロジェクト: AbdelghaniDr/mirror
bool Ctrl::ProcessEvents0(bool *quit, bool fetch)
{
	bool r = false;
	while(IsWaitingEvent0(fetch) && (!LoopCtrl || LoopCtrl->InLoop()))
		r = ProcessEvent0(quit, fetch) || r;
	TimerProc(GetTickCount());
	AnimateCaret();
	if(quit)
		*quit = IsEndSession();
	for(int i = 0; i < wins.GetCount(); i++)
		if(wins[i].ctrl)
			wins[i].ctrl->SyncScroll();
	gdk_window_process_all_updates();
	FetchEvents(FALSE); // To perform any pending GDK_EXPOSE
	gdk_flush();
	return r;
}
コード例 #6
0
ファイル: rbgdkwindow.c プロジェクト: geoffyoungs/ruby-gnome2
static VALUE
gdkwin_s_process_all_updates(VALUE self)
{
    gdk_window_process_all_updates();
    return self;
}
コード例 #7
0
void button_clicked2(GtkWidget *widget, struttura *str)
{
 const gchar* buttonow=gtk_button_get_label(GTK_BUTTON(widget));
 int keycode;
 if(strcmp(buttonow,"z")==0)
 {
	keycode = XK_z;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+z");
		}
	}
 }
 if(strcmp(buttonow,"r")==0)
 {
	keycode = XK_r;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+r");
		}
	}
 }
 if(strcmp(buttonow,"x")==0)
 {
	keycode = XK_x;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+x");
		}
	}
 }
 if(strcmp(buttonow,"c")==0)
 {
	keycode = XK_c;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+c");
		}
	}
 }
 if(strcmp(buttonow,"v")==0)
 {
	keycode = XK_v;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+v");
		}
	}
 }
 if(strcmp(buttonow,"+")==0)
 {
	keycode = XK_plus;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+plus");
		}
	}
 }
 if(strcmp(buttonow,"-")==0)
 {
	keycode = XK_minus;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+minus");
		}
	}
 }
 if(strcmp(buttonow,"f")==0)
 {
	keycode = XK_f;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+f");
		}
		if(modifier==XK_Alt_L){
			system("xdotool key alt+f");
		}
	}
 }
 if(strcmp(buttonow,"a")==0)
 {
	keycode = XK_a;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Control_R){
			system("xdotool key ctrl+a");
		}
	}
 }
 if(strcmp(buttonow,"m")==0)
 {
	keycode = XK_m;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+m");
		}
	}
 }
 if(strcmp(buttonow,"f1")==0)
 {
	keycode = XK_F1;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F1");
		}
	}
 }
 if(strcmp(buttonow,"f2")==0)
 {
	keycode = XK_F2;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F2");
		}
	}
 }
 if(strcmp(buttonow,"f3")==0)
 {
	keycode = XK_F3;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F3");
		}
	}
 }
 if(strcmp(buttonow,"f4")==0)
 {
	keycode = XK_F4;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F4");
		}
	}
 }
 if(strcmp(buttonow,"f5")==0)
 {
	keycode = XK_F5;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F5");
		}
	}
 }
 if(strcmp(buttonow,"f9")==0)
 {
	keycode = XK_F9;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F9");
		}
	}
 }
 if(strcmp(buttonow,"f10")==0)
 {
	keycode = XK_F10;
	if(modifier==0){
 		printOnFocus(str,keycode,0);
	}
	else{
		if(modifier==XK_Alt_L){
			system("xdotool key alt+F10");
		}
	}
 }
 if(strcmp(buttonow,"ctrl")==0)
 {
 	if(modifier==XK_Control_R){
		modifier=0;
		gtk_container_remove(GTK_CONTAINER(box), mylabel);
		mylabel = gtk_label_new ("Ctrl and Alt off");
		gtk_container_add(GTK_CONTAINER(box), mylabel);
		gtk_widget_show (mylabel);
	}
	else{
		modifier=XK_Control_R;
		gtk_container_remove(GTK_CONTAINER(box), mylabel);
		mylabel = gtk_label_new (NULL);
		gtk_label_set_text (GTK_LABEL (mylabel),"activated Ctrl");
		gtk_container_add(GTK_CONTAINER(box), mylabel);
		gtk_widget_show (mylabel);
	}
	gdk_window_process_all_updates();
 }
 if(strcmp(buttonow,"alt")==0)
 {
 	if(modifier==XK_Alt_L){
		modifier=0;
		gtk_container_remove(GTK_CONTAINER(box), mylabel);
		mylabel = gtk_label_new ("Ctrl and Alt off");
		gtk_container_add(GTK_CONTAINER(box), mylabel);
		gtk_widget_show (mylabel);
	}
	else{
		modifier=XK_Alt_L;
		gtk_container_remove(GTK_CONTAINER(box), mylabel);
		mylabel = gtk_label_new (NULL);
		gtk_label_set_text (GTK_LABEL (mylabel),"activated Alt");
		gtk_container_add(GTK_CONTAINER(box), mylabel);
		gtk_widget_show (mylabel);
	}
	gdk_window_process_all_updates();
 }
 else if(strcmp(buttonow,"close")==0)
   gtk_main_quit();
 else if(strcmp(buttonow,".")==0)
  {
   gtk_status_icon_set_visible(str->tray_icon, TRUE);
   gtk_widget_hide(window);
  }
 else if(strcmp(buttonow,"→")==0)
   movetoright(str,window);
 else if(strcmp(buttonow,"↓")==0)
   movetodown(str,window);
 else if(strcmp(buttonow,"nf")==0)
  {
    setMove(str,str->window); 
    gtk_widget_show(str->window);
    gtk_widget_hide(window);
  }
  
}
コード例 #8
0
//Algoritmo T9 di predizione del testo basato su liste
void gestionet9 (struttura *str)
{
	gtk_list_clear_items ((GtkList *) str->tp.gtklist,0,N);
        if (str->tp.luncodicet9==-1) /*possibile solo se provenienti da un delete*/
         {
          gtk_widget_set_usize(str->tp.scrolled_window, 0,S_W_MAIN); 
          str->tp.luncodicet9=0; 
          return;
         }
        //fase inizializzazione
	str->tp.numparoletrovate=0;
	int i=0;
	for (i=0; i<N;i++)
	{
		bzero(str->tp.vetparole[i].parola,LEN_WORD_DB+1);
	}
	
	//aggiornamento
	str->tp.luncodicet9++;
	str->tp.codicet9[str->tp.luncodicet9]=0;
	//printf("\nTasti premuti: %s\tlunghezza:%d\n",str->tp.codicet9,str->tp.luncodicet9);
	char query[200];
	bzero (query,200);
	//se freq0 globale, se 1 pers
	sprintf (query, " select parola,codice,frequenza from globale where codice like \'%s%%\' order by codice,frequenza desc  limit 0,%d;",str->tp.codicet9,N);
  	//GtkWidget *list_item;
	GList *dlist=NULL;
	gchar *s;
	s = (gchar*)malloc(sizeof(gchar));
	*s=0;//equals sprintf(s,"");
	//printf("\n%s\n",query);
	int  retval = sqlite3_prepare_v2(str->tp.db,query,-1,&str->tp.stmt,0);    
	if(retval)
	{
        	return;
	}
        
	// Read the number of rows fetched
	int cols = sqlite3_column_count(str->tp.stmt);
	    
	while(1)
	{
		// fetch a row's status
		retval = sqlite3_step(str->tp.stmt);
		if(retval == SQLITE_DONE) break;
                else if(retval == SQLITE_ROW)
		{
			// SQLITE_ROW means fetched a row
		   	 str->tp.numparoletrovate=str->tp.numparoletrovate+1;
		    	//printf ("\n");
		    	// sqlite3_column_text returns a const void* , typecast it to const char*
		    	for(int col=0 ; col<cols;col++)
		  	{
		        	char *val = (char *)sqlite3_column_text(str->tp.stmt,col);
		                //printf("%s = %s\t",sqlite3_column_name(str->tp.stmt,col),val);
				if (col==0) 
			         {
                                        sprintf(str->tp.vetparole[str->tp.numparoletrovate-1].parola,"%s",val);
                                        str->tp.list_item=gtk_list_item_new_with_label(val);
					dlist=g_list_append(dlist, str->tp.list_item);
                                        gtk_widget_set_usize(str->tp.list_item,0,25);
					gtk_widget_show(str->tp.list_item);
					gtk_object_set_data(GTK_OBJECT(str->tp.list_item), list_item_data_key,s);

				}
				else
                                 strcpy(str->tp.vetparole[str->tp.numparoletrovate-1].keyparola,val);
				
		   	 }  
		}
		else
		{
			// Some error encountered
		    	return;
		}
	}
	str->tp.indice=0;
	if(str->tp.numparoletrovate> 0)
          gtk_list_append_items((GtkList*)(str->tp.gtklist), dlist);
	else{
          ins(str);	
	  fButtonTP(str);
        }
        gdk_window_process_all_updates ();
	
	//printf ("\n");
	
}
コード例 #9
0
void setMove(struttura *str,GtkWidget *win)
/*funzione di semplice supporto alle funzioni move*/
{
 gtk_window_move(GTK_WINDOW(win),str->move.position_width,str->move.position_height);
 gdk_window_process_all_updates();
}
コード例 #10
0
void sigh_print_selection(GtkWidget *gtklist, struttura *str)
{
 if (str->tp.luncodicet9==0) return;

 GList   *dlist;
 GtkWidget *child;
 
 
 // Fetch the doubly linked list of selected items of the List, remember to treat this as read-only!
 g_print("Selection\n");
 dlist=GTK_LIST(gtklist)->selection;
 g_print("Selection 1\n");
 // Individuiamo l'elemento che ha emesso il segnale e calcoliamo la sua posizione all'interno della lista
 child=gtk_container_get_focus_child(GTK_CONTAINER(gtklist));
 str->tp.indice=gtk_list_child_position((GtkList *)gtklist,child);
 g_print("Selection 2\n");
 int dim_parola = strlen(str->tp.vetparole[str->tp.indice].parola);
  g_print("Selection 3\n");
 // If there are no selected items there is nothing more to do than just telling the user so
 if(!dlist){
	g_print("Selection cleared\n");
        return;
 }
   g_print("Selection 4\n");
 // Ok, we got a selection and so we print it
 for (int kk=0; kk < dim_parola; kk++) 
 {
	gchar word[dim_parola];
	sprintf(word,"%s",str->tp.vetparole[str->tp.indice].parola);

	gchar  *let;
	let = (gchar*)malloc(sizeof(gchar));
	sprintf(let,"");

	sprintf(let,"%c",word[kk]);
        //sendKey(str->display,str->win,str->winRoot,XStringToKeysym(let),str->modifier);

        sendtofocus(str,XStringToKeysym(let));
 }
 printf("\n");

 g_print("Selection 5\n");

 sendtofocus(str,XK_space);
 str->tp.vetparole[str->tp.indice].frequenza=str->tp.vetparole[str->tp.indice].frequenza+1;
        printf("\nNuova frequenza parola selezionata: %d\n",str->tp.vetparole[str->tp.indice].frequenza);

 char query[200];
 bzero (query,200);
 if (str->tp.vetparole[str->tp.indice].frequenza>1) 
	sprintf (query, "update personale set frequenza =%d where parola =\'%s\';",str->tp.vetparole[str->tp.indice].frequenza,str->tp.vetparole[str->tp.indice].parola);
 else 
	sprintf (query, "insert into personale (codice,parola,frequenza) values (\'%s\',\'%s\',1);",str->tp.codicet9,str->tp.vetparole[str->tp.indice].parola);

 printf("\n%s\n",query);
 int  retval = retval = sqlite3_exec(str->tp.db,query,0,0,0);
 gtk_list_clear_items ((GtkList *) gtklist,0,N);
 str->tp.luncodicet9 = 0;
 bzero(str->tp.codicet9,30);
		//XWarpPointer(display, None, None, 0, 0, 0, 0, -10000,-10000);
		//XWarpPointer(display, None, None, 0, 0, 0, 0, 90, 1);
 gdk_window_process_all_updates ();
	//XCloseDisplay(display);
}
コード例 #11
0
//Algoritmo T9 di predizione del testo basato su liste
void gestionet9 (struttura *str,int tasto)
{
	//fase inizializzazione
	str->tp.numparoletrovate=0;
	int i=0;
	for (i=0; i<N;i++)
	{
		str->tp.vetparole[i].frequenza=0;
		bzero(str->tp.vetparole[i].parola,30);
	}
	gtk_list_clear_items ((GtkList *) str->tp.gtklist,0,N);

	//aggiornamento
	str->tp.luncodicet9=str->tp.luncodicet9+1;
	sprintf(str->tp.codicet9,"%s%d",str->tp.codicet9,tasto);
	//printf("\nTasti premuti: %s\tlunghezza:%d\n",str->tp.codicet9,str->tp.luncodicet9);
	char query[200];
	bzero (query,200);
	//se freq0 globale, se 1 pers
	sprintf (query, " select parola dist,frequenza from personale where codice like \'%s%%\' union select parola dist,frequenza from globale where 		codice like \'%s%%\' order by 2 desc, 1 asc limit 0,5;",str->tp.codicet9,str->tp.codicet9);
  	//GtkWidget *list_item;
	GList *dlist=NULL;
	gchar *s;
	s = (gchar*)malloc(sizeof(gchar));
	sprintf(s,"");
	printf("\n%s\n",query);
	int  retval = sqlite3_prepare_v2(str->tp.db,query,-1,&str->tp.stmt,0);    
	if(retval)
	{
        	printf("\nerrore database\n");
        	return;
	}
        
	// Read the number of rows fetched
	int cols = sqlite3_column_count(str->tp.stmt);
	    
	while(1)
	{
		// fetch a row's status
		retval = sqlite3_step(str->tp.stmt);
		if(retval == SQLITE_DONE) break;
                else if(retval == SQLITE_ROW)
		{
			// SQLITE_ROW means fetched a row
		   	 str->tp.numparoletrovate=str->tp.numparoletrovate+1;
		    	printf ("\n");
		    	// sqlite3_column_text returns a const void* , typecast it to const char*
		    	for(int col=0 ; col<cols;col++)
		   	{
		        	const char *val = (const char*)sqlite3_column_text(str->tp.stmt,col);
		        //printf("%s = %s\t",sqlite3_column_name(str->tp.stmt,col),val);
				if (col==0) 
				{
					printf ("%s",val);
					sprintf(str->tp.vetparole[str->tp.numparoletrovate-1].parola,"%s",val);
					str->tp.list_item=gtk_list_item_new_with_label(val);
					dlist=g_list_append(dlist, str->tp.list_item);
					gtk_widget_show(str->tp.list_item);
					gtk_object_set_data(GTK_OBJECT(str->tp.list_item), list_item_data_key,s);

				}
				else 
				{
					printf ("\tfr=%s",val);
					str->tp.vetparole[str->tp.numparoletrovate-1].frequenza=atoi(val);
				}
		   	 }  
		}
		else
		{
			// Some error encountered
		   	 printf("errori query\n");
		    	return;
		}
	}
	str->tp.indice=0;
	Display *display = XOpenDisplay(0);
	if(str->tp.numparoletrovate> 0)
	{ 
		gtk_list_append_items((GtkList*)(str->tp.gtklist), dlist);
		
			
	}
		gdk_window_process_all_updates ();
		XCloseDisplay(display);
	    printf ("\n");
	
}