static void changed(GtkWidget *widget, struct search_param *search) { struct search_list_result *res; GtkTreeIter iter; search->attr.u.str=(char *)gtk_entry_get_text(GTK_ENTRY(widget)); printf("changed %s\n", search->attr.u.str); if (widget == search->entry_country) { dbg(0,"country\n"); search->attr.type=attr_country_all; set_columns(search, 0); } if (widget == search->entry_city) { dbg(0,"town\n"); search->attr.type=attr_town_name; if (strlen(search->attr.u.str) < 3) return; set_columns(search, 1); } if (widget == search->entry_street) { dbg(0,"street\n"); search->attr.type=attr_street_name; set_columns(search, 2); } search_list_search(search->sl, &search->attr, 1); gtk_list_store_clear(search->liststore); while((res=search_list_get_result(search->sl))) { gtk_list_store_append(search->liststore,&iter); gtk_list_store_set(search->liststore,&iter,COL_COUNT,res->c,-1); if (widget == search->entry_country) { if (res->country) { gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); gtk_list_store_set(search->liststore,&iter,1,res->country->iso3,-1); gtk_list_store_set(search->liststore,&iter,2,res->country->iso2,-1); gtk_list_store_set(search->liststore,&iter,3,res->country->name,-1); } } else { if (res->country) gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); else gtk_list_store_set(search->liststore,&iter,0,"",-1); if (res->town) { gtk_list_store_set(search->liststore,&iter,1,res->town->postal,-1); gtk_list_store_set(search->liststore,&iter,2,res->town->name,-1); gtk_list_store_set(search->liststore,&iter,3,"",-1); } else { gtk_list_store_set(search->liststore,&iter,1,"",-1); gtk_list_store_set(search->liststore,&iter,2,"",-1); gtk_list_store_set(search->liststore,&iter,3,"",-1); } if (res->street) gtk_list_store_set(search->liststore,&iter,4,res->street->name,-1); else gtk_list_store_set(search->liststore,&iter,4,"",-1); } } }
void selection_properties_t::notify_on_create() { pfc::list_t<t_column> columns; columns.add_item(t_column("Field", m_column_name_width, 0)); columns.add_item(t_column("Value", m_column_field_width, 1)); set_columns(columns); set_group_count(m_show_group_titles ? 1 : 0); register_callback(); static_api_ptr_t<play_callback_manager>()->register_callback(this, play_callback::flag_on_playback_stop|play_callback::flag_on_playback_new_track, true); static_api_ptr_t<metadb_io_v3>()->register_callback(this); refresh_contents(); if (0 == g_windows.add_item(this)) g_message_window.create(NULL); }
static void changed(GtkWidget *widget, struct search_param *search) { struct search_list_result *res; GtkTreeIter iter; GtkTreeSelection *sel; gchar buf[512]; search->attr.u.str=(char *)gtk_entry_get_text(GTK_ENTRY(widget)); printf("changed %s\n", search->attr.u.str); if (search->dontsearch) return; if (widget == search->entry_country) { dbg(0,"country\n"); search->attr.type=attr_country_all; search->mode = 0; set_columns(search); } if (widget == search->entry_district) { dbg(0,"district\n"); search->attr.type=attr_district_name; search->mode = 1; set_columns(search); } if (widget == search->entry_city) { dbg(0,"town\n"); search->attr.type=attr_town_name; if (strlen(search->attr.u.str) < 2) return; search->mode = 2; set_columns(search); } if (widget == search->entry_street) { dbg(0,"street\n"); search->attr.type=attr_street_name; search->mode = 3; set_columns(search); } search_list_search(search->sl, &search->attr, 1); gtk_list_store_clear(search->liststore); while((res=search_list_get_result(search->sl))) { gtk_list_store_append(search->liststore,&iter); gtk_list_store_set(search->liststore,&iter,COORD_COL,res->c,-1); if (widget == search->entry_country) { if (res->country) { sprintf(buf, "%d", res->country->id); gtk_list_store_set(search->liststore,&iter,0,buf,-1); gtk_list_store_set(search->liststore,&iter,1,res->country->car,-1); gtk_list_store_set(search->liststore,&iter,2,res->country->iso3,-1); gtk_list_store_set(search->liststore,&iter,3,res->country->iso2,-1); gtk_list_store_set(search->liststore,&iter,4,res->country->name,-1); gtk_list_store_set(search->liststore,&iter,RES_COL,res->country,-1); } } else if (widget == search->entry_district) { if (res->district) { sprintf(buf, "%d", res->district->id); gtk_list_store_set(search->liststore,&iter,0,buf,-1); gtk_list_store_set(search->liststore,&iter,1,res->district->country,-1); gtk_list_store_set(search->liststore,&iter,2,res->district->name,-1); gtk_list_store_set(search->liststore,&iter,RES_COL,res->district,-1); } } else if (widget == search->entry_city) { // if (res->country) // gtk_list_store_set(search->liststore,&iter,1,res->country->car,-1); // else // gtk_list_store_set(search->liststore,&iter,1,"",-1); if (res->town) { sprintf(buf, "%d", res->town->id); gtk_list_store_set(search->liststore,&iter,0,buf,-1); gtk_list_store_set(search->liststore,&iter,1,res->town->country,-1); gtk_list_store_set(search->liststore,&iter,2,res->town->district,-1); gtk_list_store_set(search->liststore,&iter,3,res->town->postal,-1); gtk_list_store_set(search->liststore,&iter,4,res->town->name,-1); gtk_list_store_set(search->liststore,&iter,5,"",-1); gtk_list_store_set(search->liststore,&iter,RES_COL,res->town,-1); } else { gtk_list_store_set(search->liststore,&iter,0,"0",-1); gtk_list_store_set(search->liststore,&iter,1,"",-1); gtk_list_store_set(search->liststore,&iter,2,"",-1); gtk_list_store_set(search->liststore,&iter,3,"",-1); gtk_list_store_set(search->liststore,&iter,4,"",-1); gtk_list_store_set(search->liststore,&iter,5,"",-1); } // if (res->street) // gtk_list_store_set(search->liststore,&iter,4,res->street->name,-1); // else // gtk_list_store_set(search->liststore,&iter,4,"",-1); } else if (widget == search->entry_street) { if (res->street) { sprintf(buf, "%d", res->street->id); gtk_list_store_set(search->liststore,&iter,0,buf,-1); gtk_list_store_set(search->liststore,&iter,1,res->street->country,-1); gtk_list_store_set(search->liststore,&iter,2,res->street->district,-1); gtk_list_store_set(search->liststore,&iter,3,res->street->postal,-1); gtk_list_store_set(search->liststore,&iter,4,res->street->city,-1); gtk_list_store_set(search->liststore,&iter,5,res->street->name,-1); gtk_list_store_set(search->liststore,&iter,6,"",-1); gtk_list_store_set(search->liststore,&iter,RES_COL,res->town,-1); } } } }
static void changed(GtkWidget *widget, struct search_param *search) { struct search_list_result *res; GtkTreeIter iter; search->attr.u.str=(char *)gtk_entry_get_text(GTK_ENTRY(widget)); printf("changed %s partial %d\n", search->attr.u.str, search->partial); if (widget == search->entry_country) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 3, GTK_SORT_ASCENDING); dbg(0,"country\n"); search->attr.type=attr_country_all; set_columns(search, 0); } if (widget == search->entry_postal) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 1, GTK_SORT_ASCENDING); dbg(0,"postal\n"); search->attr.type=attr_town_postal; if (strlen(search->attr.u.str) < 2) return; set_columns(search, 1); } if (widget == search->entry_city) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 2, GTK_SORT_ASCENDING); dbg(0,"town\n"); search->attr.type=attr_town_name; if (strlen(search->attr.u.str) < 3) return; set_columns(search, 1); } if (widget == search->entry_street) { dbg(0,"street\n"); search->attr.type=attr_street_name; set_columns(search, 2); } search_list_search(search->sl, &search->attr, search->partial); gtk_list_store_clear(search->liststore); while((res=search_list_get_result(search->sl))) { gtk_list_store_append(search->liststore,&iter); gtk_list_store_set(search->liststore,&iter,COL_COUNT,res->c,-1); if (widget == search->entry_country) { if (res->country) { gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); gtk_list_store_set(search->liststore,&iter,1,res->country->iso3,-1); gtk_list_store_set(search->liststore,&iter,2,res->country->iso2,-1); gtk_list_store_set(search->liststore,&iter,3,res->country->name,-1); } } else { if (res->country) gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); else gtk_list_store_set(search->liststore,&iter,0,"",-1); if (res->town) { gtk_list_store_set(search->liststore,&iter,1,res->town->common.postal,-1); gtk_list_store_set(search->liststore,&iter,2,res->town->name,-1); gtk_list_store_set(search->liststore,&iter,3,res->town->district,-1); } else { gtk_list_store_set(search->liststore,&iter,1,"",-1); gtk_list_store_set(search->liststore,&iter,2,"",-1); gtk_list_store_set(search->liststore,&iter,3,"",-1); } if (res->street) gtk_list_store_set(search->liststore,&iter,4,res->street->name,-1); else gtk_list_store_set(search->liststore,&iter,4,"",-1); } } if (! search->partial) next_focus(search, widget); search->partial=1; }
int populate_list(HWND hlistview,int resize_window) { HKEY hkey=0; int total_width=0; ListView_DeleteAllItems(hlistview); set_columns(hlistview); RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall",0,KEY_READ,&hkey); if(hkey!=0){ int i,count=0,widths[4]; count=get_subkey_count(hkey); memset(widths,0,sizeof(widths)); get_column_widths(hlistview,widths,sizeof(widths)/sizeof(int)); for(i=0;i<count;i++){ char str[512]={0}; int len=sizeof(str); RegEnumKeyEx(hkey,i,str,&len,NULL,NULL,NULL,NULL); //RegEnumValue(hkey,i,str,&len,NULL,NULL,NULL,NULL); str[sizeof(str)-1]=0; if(str[0]!=0){ int w; HKEY hsubkey=0; RegOpenKeyEx(hkey,str,0,KEY_READ,&hsubkey); if(hsubkey!=0){ int type=REG_SZ; char dispstr[512]={0}; len=sizeof(dispstr); RegQueryValueEx(hsubkey,"DisplayName",NULL,&type,dispstr,&len); lv_insert_data(hlistview,i,0,dispstr); w=get_str_width(hlistview,dispstr); if(widths[0]<w) widths[0]=w; RegCloseKey(hsubkey); lv_insert_data(hlistview,i,1,str); w=get_str_width(hlistview,str); if(widths[1]<w) widths[1]=w; } } } for(i=0;i<4;i++){ widths[i]+=12; ListView_SetColumnWidth(hlistview,i,widths[i]); total_width+=widths[i]; } RegCloseKey(hkey); if(total_width>0){ HWND hwnd,hdesk; hwnd=GetParent(hlistview); hdesk=GetDesktopWindow(); if(hwnd!=0 && hdesk!=0){ RECT rect={0}; int wwin,wdesk,height; GetWindowRect(hwnd,&rect); wwin=rect.right-rect.left; GetWindowRect(hdesk,&rect); wdesk=rect.right-rect.left; height=rect.bottom-rect.top; height=height*2/3;; if(total_width>wdesk) total_width=wdesk; if((total_width>wwin) && resize_window) SetWindowPos(hwnd,NULL,0,0,total_width,height,SWP_NOMOVE); } } } return total_width; }
static void changed(GtkWidget *widget, struct search_param *search) { struct search_list_result *res; GtkTreeIter iter; search->attr.u.str=(char *)gtk_entry_get_text(GTK_ENTRY(widget)); printf("changed %s partial %d\n", search->attr.u.str, search->partial); if (widget == search->entry_country) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 3, GTK_SORT_ASCENDING); dbg(0,"country\n"); search->attr.type=attr_country_all; set_columns(search, 0); } if (widget == search->entry_postal) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 1, GTK_SORT_ASCENDING); dbg(0,"postal\n"); search->attr.type=attr_town_postal; if (strlen(search->attr.u.str) < 2) return; set_columns(search, 1); } if (widget == search->entry_city) { gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (search->liststore2), 2, GTK_SORT_ASCENDING); dbg(0,"town\n"); search->attr.type=attr_town_name; if (strlen(search->attr.u.str) < 3) return; set_columns(search, 1); } if (widget == search->entry_street) { dbg(0,"street\n"); search->attr.type=attr_street_name; // Searching for a street by just its first letter generates too many hits to be useful, // plus it causes the GUI to become unresponsive because the search is single-threaded. // So we only start searching once we have two letters. if (strlen(search->attr.u.str) < 2) return; set_columns(search, 2); } search_list_search(search->sl, &search->attr, search->partial); gtk_list_store_clear(search->liststore); while((res=search_list_get_result(search->sl))) { gtk_list_store_append(search->liststore,&iter); gtk_list_store_set(search->liststore,&iter,COL_COUNT,res->c,-1); if (widget == search->entry_country) { if (res->country) { gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); gtk_list_store_set(search->liststore,&iter,1,res->country->iso3,-1); gtk_list_store_set(search->liststore,&iter,2,res->country->iso2,-1); gtk_list_store_set(search->liststore,&iter,3,res->country->name,-1); } } else { if (res->country) gtk_list_store_set(search->liststore,&iter,0,res->country->car,-1); else gtk_list_store_set(search->liststore,&iter,0,"",-1); if (res->town) { gtk_list_store_set(search->liststore,&iter,1,res->town->common.postal,-1); gtk_list_store_set(search->liststore,&iter,2,res->town->common.town_name,-1); gtk_list_store_set(search->liststore,&iter,3,res->town->common.district_name,-1); } else { gtk_list_store_set(search->liststore,&iter,1,"",-1); gtk_list_store_set(search->liststore,&iter,2,"",-1); gtk_list_store_set(search->liststore,&iter,3,"",-1); } if (res->street) gtk_list_store_set(search->liststore,&iter,4,res->street->name,-1); else gtk_list_store_set(search->liststore,&iter,4,"",-1); } } if(! search->partial) { if( widget == search->entry_country ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_city), TRUE); } if( widget == search->entry_city ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_city), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_street), TRUE); } if( widget == search->entry_street ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_city), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_street), TRUE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_number), TRUE); } } else { if( widget == search->entry_country ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_city), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_street), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_number), FALSE); } if( widget == search->entry_city ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_street), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(search->entry_number), FALSE); } if( widget == search->entry_street ) { gtk_widget_set_sensitive(GTK_WIDGET(search->entry_number), FALSE); } } if (! search->partial) next_focus(search, widget); search->partial=1; }
void playlist_switcher_t::refresh_columns() { set_columns(pfc::list_single_ref_t<t_column>(t_column("Name", 100))); }
int main(int argc, char *argv[]) { struct libscols_table *tb; int c, notree = 0, clonetb = 0; static const struct option longopts[] = { { "help", 0, 0, 'h' }, { "noheadings", 0, 0, 'n' }, { "list", 0, 0, 'l' }, { "ascii", 0, 0, 'i' }, { "pairs", 0, 0, 'p' }, { "clone", 0, 0, 'C' }, { "csv", 0, 0, 'c' }, { NULL, 0, 0, 0 }, }; setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); scols_init_debug(0); tb = scols_new_table(); if (!tb) err(EXIT_FAILURE, "faild to create output table"); while((c = getopt_long(argc, argv, "nlirpCc", longopts, NULL)) != -1) { switch(c) { case 'h': usage(stdout); break; case 'l': notree = 1; break; case 'n': scols_table_enable_noheadings(tb, 1); break; case 'p': scols_table_enable_export(tb, 1); notree = 1; break; case 'i': scols_table_enable_ascii(tb, 1); break; case 'r': scols_table_enable_raw(tb, 1); notree = 1; break; case 'c': scols_table_set_column_separator(tb, ","); scols_table_enable_raw(tb, 1); notree = 1; break; case 'C': clonetb = 1; default: usage(stderr); } } scols_table_enable_colors(tb, 1); set_columns(tb, notree); while (optind < argc) add_lines(tb, argv[optind++]); if (clonetb) { struct libscols_table *xtb = scols_copy_table(tb); scols_print_table(xtb); scols_unref_table(xtb); } else scols_print_table(tb); scols_unref_table(tb); return EXIT_SUCCESS; }