示例#1
0
文件: object.c 项目: amery/clip-itk
int
clip_GTK_SIGNALHANDLERBLOCK(ClipMachine *cm)
{
	C_widget *cwid = _fetch_cw_arg(cm);
	int    conn_id = _clip_parni(cm,2);
	CHECKCWID(cwid,GTK_IS_OBJECT);
	CHECKARG(2,NUMERIC_t);
	gtk_signal_handler_block(GTK_OBJECT(cwid->widget),conn_id);
	return 0;
err:
	return 1;
}
示例#2
0
文件: gtkcombo.c 项目: Onjrew/OpenEV
static void
gtk_combo_update_entry (GtkList * list, GtkCombo * combo)
{
  char *text;

  gtk_grab_remove (GTK_WIDGET (combo));
  gtk_signal_handler_block (GTK_OBJECT (list), combo->list_change_id);
  if (list->selection)
    {
      text = gtk_combo_func (GTK_LIST_ITEM (list->selection->data));
      if (!text)
	text = "";
      gtk_entry_set_text (GTK_ENTRY (combo->entry), text);
    }
  gtk_signal_handler_unblock (GTK_OBJECT (list), combo->list_change_id);
}
示例#3
0
文件: gtkcombo.c 项目: Onjrew/OpenEV
static void
gtk_combo_update_list (GtkEntry * entry, GtkCombo * combo)
{
  GtkList *list = GTK_LIST (combo->list);
  GList *slist = list->selection;
  GtkListItem *li;

  gtk_grab_remove (GTK_WIDGET (combo));

  gtk_signal_handler_block (GTK_OBJECT (entry), combo->entry_change_id);
  if (slist && slist->data)
    gtk_list_unselect_child (list, GTK_WIDGET (slist->data));
  li = gtk_combo_find (combo);
  if (li)
    gtk_list_select_child (list, GTK_WIDGET (li));
  gtk_signal_handler_unblock (GTK_OBJECT (entry), combo->entry_change_id);
}
示例#4
0
文件: musegtk.cpp 项目: dyne/MuSE
bool gtkgui_sel_playlist(unsigned int chan, int row)
{
	struct gchan *c;

	c=(struct gchan *)list_get_data(listachan, chan+1, 0); 
	/* o=gcb_findch(chan+1, NOPOS); */

	if(!c) return false;

	//	gdk_threads_enter();

	gtk_signal_handler_block(GTK_OBJECT(c->lista), blockid[chan+1]);
	gtk_clist_select_row(GTK_CLIST(c->lista), row-1, 0);
	gtk_signal_handler_unblock(GTK_OBJECT(c->lista), blockid[chan+1]);
	gtk_entry_set_text(GTK_ENTRY(c->ptime), "00:00");
	gtk_adjustment_set_value(GTK_ADJUSTMENT(c->adjprog), 0.0);

	if(!c->playmode)
		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c->play), FALSE);
	//	gdk_threads_leave();
	return true;
}
static void plButtonReleased( GtkButton * button,gpointer user_data )
{
 switch ( (int) user_data )
 {
  case 1: // ok
       {
        int i;
        plItem * item;
	listMgr( PLAYLIST_DELETE,0 );
	for ( i=0;i<NrOfSelected;i++ )
	 {
	  char * text[3];
	  item=calloc( 1,sizeof( plItem ) );
	  gtk_clist_get_text( GTK_CLIST( CLSelected ),i,0,&text[0] );
	  gtk_clist_get_text( GTK_CLIST( CLSelected ),i,1,&text[1] );
	  item->name=g_filename_from_utf8( text[0], -1, NULL, NULL, NULL );
	  if ( !item->name ) item->name = strdup( text[0] );
	  item->path=g_filename_from_utf8( text[1], -1, NULL, NULL, NULL );
	  if ( !item->path ) item->path = strdup( text[1] );
	  listMgr( PLAYLIST_ITEM_APPEND,item );
	 }
	item = listMgr( PLAYLIST_ITEM_GET_CURR,0 );
	if ( item )
	 {
	  uiSetFileName( item->path,item->name,STREAMTYPE_FILE );
//	  setddup( &guiInfo.Filename,item->path,item->name );
//	  guiInfo.NewPlay=GUI_FILE_NEW;
//	  guiInfo.StreamType=STREAMTYPE_FILE;
	 }
       }
  case 0: // cancel
       HidePlayList();
       break;
  case 2: // remove
       {
	int i; int j; int c=0;

	gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigSel );
	gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigUnsel );
	gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigEvent );

        gtk_clist_freeze( GTK_CLIST( CLSelected ) );
        for ( i=0;i<NrOfSelected-c;i++ )
  	 if ( CLListSelected[i] )
	  {
	   gtk_clist_remove( GTK_CLIST( CLSelected ),i - c );
	   c++;
	   for ( j=i;j<NrOfSelected-c;j++ )
		CLListSelected[i] = CLListSelected[i+1];
	  }
	NrOfSelected-=c;
	gtk_clist_thaw( GTK_CLIST( CLSelected ) );

	gtk_signal_handler_unblock( GTK_OBJECT( CLSelected ),sigSel );
	gtk_signal_handler_unblock( GTK_OBJECT( CLSelected ),sigUnsel );
	gtk_signal_handler_unblock( GTK_OBJECT( CLSelected ),sigEvent );

       }
       break;
  case 3: // add
       {
        int i;
        void *p;
        char * itext[1][2];
        gchar * cpath;
        char * text[1][3]; text[0][2]="";
        gtk_clist_freeze( GTK_CLIST( CLSelected ) );
        for ( i=0;i<NrOfEntrys;i++ )
         {
          if ( CLFileSelected[i] )
           {
	    NrOfSelected++;
	    p=realloc( CLListSelected,NrOfSelected * sizeof( int ) );
	    if ( !p ) NrOfSelected--;
	    else
	     {
	      CLListSelected=p;
	      CLListSelected[NrOfSelected - 1]=0;
	      gtk_clist_get_text( GTK_CLIST( CLFiles ),i,0,(char **)&itext );
	      cpath=g_filename_to_utf8( current_path, -1, NULL, NULL, NULL );
	      text[0][0]=itext[0][0]; text[0][1]=cpath ? cpath : current_path;
	      gtk_clist_append( GTK_CLIST( CLSelected ),text[0] );
	      g_free( cpath );
	     }
	   }
	 }
	gtk_clist_thaw( GTK_CLIST( CLSelected ) );
       }
       break;
 }
}
示例#6
0
static void plButtonReleased( GtkButton * button,gpointer user_data )
{
 switch ( (int) user_data )
 {
  case 1: // ok
       {
        int i;
	if ( plList ) gtkSet( gtkDelPl,0,NULL );
	for ( i=0;i<NrOfSelected;i++ )
	 {
	  plItem * item;
	  char * text[3];
	  item=calloc( 1,sizeof( plItem ) );
	  gtk_clist_get_text( GTK_CLIST( CLSelected ),i,0,&text[0] );
	  gtk_clist_get_text( GTK_CLIST( CLSelected ),i,1,&text[1] );
	  item->name=strdup( text[0] );
	  item->path=strdup( text[1] );
	  gtkSet( gtkAddPlItem,0,(void*)item );
	 }
	if ( plCurrent )
	 {
	  mplSetFileName( plCurrent->path,plCurrent->name,STREAMTYPE_FILE );
//	  guiSetDF( guiIntfStruct.Filename,plCurrent->path,plCurrent->name );
//	  guiIntfStruct.FilenameChanged=1;
//	  guiIntfStruct.StreamType=STREAMTYPE_FILE;
	 }
       }
  case 0: // cancel
       HidePlayList();
       break;
  case 2: // remove
       {
	int i; int j; int c=0;

	gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigSel );
	gtk_signal_handler_block( GTK_OBJECT( CLSelected ),sigUnsel );

        gtk_clist_freeze( GTK_CLIST( CLSelected ) );
        for ( i=0;i<NrOfSelected-c;i++ )
  	 if ( CLListSelected[i] )
	  {
	   gtk_clist_remove( GTK_CLIST( CLSelected ),i - c );
	   c++;
	   for ( j=i;j<NrOfSelected-c;j++ )
		CLListSelected[i] = CLListSelected[i+1];
	  }
	NrOfSelected-=c;
	gtk_clist_thaw( GTK_CLIST( CLSelected ) );

	gtk_signal_handler_unblock( GTK_OBJECT( CLSelected ),sigSel );
	gtk_signal_handler_unblock( GTK_OBJECT( CLSelected ),sigUnsel );

       }
       break;
  case 3: // add
       {
        int i;
        char * itext[1][2];
        char * text[1][3]; text[0][2]="";
        gtk_clist_freeze( GTK_CLIST( CLSelected ) );
        for ( i=0;i<NrOfEntrys;i++ )
         {
          if ( CLFileSelected[i] )
           {
	    gtk_clist_get_text( GTK_CLIST( CLFiles ),i,0,(char **)&itext );
	    text[0][0]=itext[0][0]; text[0][1]=current_path;
	    gtk_clist_append( GTK_CLIST( CLSelected ),text[0] );
	    NrOfSelected++;
	    CLListSelected=realloc( CLListSelected,NrOfSelected * sizeof( int ) );
	    CLListSelected[NrOfSelected - 1]=0;
	   }
	 }
	gtk_clist_thaw( GTK_CLIST( CLSelected ) );
       }
       break;
 }
}